Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

Alquimia Stone

03_processamento_paralelo_vs_concorrencia.livemd

Alquimia Stone

Processamento Paralelo vs Concorrente

A diferença entre processamento paralelo e processamento concorrente diz respeito a compartilhamento de recursos.

Processamento paralelo é quando um programa consegue executar dois trechos de código sem compartilhamento de recursos (processador, memória, disco, etc). Caso contrário, há competição entre duas unidades do programa por um mesmo recurso, o que caracteriza concorrência.

Em um computador pessoal atual, pode haver vários núcleos de processador, várias unidades de memória e de disco. Com isso, o processamento pode ser quase paralelo. Entretanto, canais compartilhados geram concorrência.

O processamento concorrente nos computadores atuais se dá através de processos ou de threads.

Processo é um contexto de execução de código. Processos não compartilham memória entre si. Thread é uma subdivisão de um processo e pode compartilhar memória com outras threads de um mesmo processo. Além disso, processos tendem a ser mais pesados que threads.

O gerenciamento de processos e de threads se dá através de escalonadores (schedulers).

Referências