Programação concorrente em Go e Python — goroutines, channels, mutex e o GIL
Cid Andrade
0:00 / 0:00
Programação concorrente em Go e Python — goroutines, channels, mutex e o GIL
9 просмотров · 2 нед. назад
Cid Andrade
74 подписчика
9 просмотров · 2 нед. назад
Concorrência é a estrutura do programa; paralelismo é a execução
simultânea no hardware. Nesta aula de Paradigmas de Linguagens de
Programação, a Unidade X trata do paradigma concorrente: por que ele
virou requisito na era dos processadores multicore, o que são condição
de corrida e deadlock, e como duas linguagens resolvem o mesmo problema
de jeitos diferentes.
Em Go: goroutines leves gerenciadas por um escalonador M:N, sync.Mutex
para proteger regiões críticas, sync.WaitGroup para esperar o término
das rotinas, e channels com buffer no padrão Produtor-Consumidor, sob o
princípio de compartilhar memória comunicando. Em Python: o Global
Interpreter Lock e a escolha entre threading, asyncio e multiprocessing
conforme a carga seja de E/S ou de CPU. Fecha com o Jantar dos Filósofos
e os erros mais frequentes.
#ParadigmasDeProgramacao #ProgramacaoConcorrente #Golang #Python #CienciaDaComputacao