Please enable JavaScript.
Coggle requires JavaScript to display documents.
Problemas clássicos em Programação Concorrente (O JANTAR DOS FILÓSOFOS…
Problemas clássicos em
Programação Concorrente
CAPÍTULOS ANTERIORES
Livelock
operações continuamente falham
processos continuam em execução
Starvation
processo fica sem acesso por um longo tempo
Deadlock
processos bloqueados indefinidamente à espera
O JANTAR DOS FILÓSOFOS
Descrição
5 garfos
Cada filósofo utiliza 2 garfos para comer
5 filósofos
Objetivo
Não deixar nenhum filósofo morrer de fome
Soluções simples podem não ser suficientes
Todos os filósofos tentarem comer ao mesmo tempo
resulta em
deadlock
Aguardar para comer
pode resultar em
starvation
ou
livelock
Modela problemas
de sincronização
Finitude dos recursos
Garantir ausência de
deadlock
,
livelock
,
starvation
Competição pelo acesso exclusivo a recursos
LEITORES E ESCRITORES
(READERS & WRITERS)
Descrição
Produtores e Consumidores
(Producers and Consumers)
Modela alguns problemas
de sincronização
Recursos compartilhados
e finitos
Necessidade de garantir sincronização
entre as operações