Página 17
Transcrição do slide
Processos
(Soluções para Exclusão Mútua)
Problemas com o sleep e wakeup Consumidor Testa o valor de count e é preemptado antes de executar
sleep
Produtor
Produz um item, insere-o no buffer e incrementa count
Como count == 1, executa wakeup para acordar o
consumidor
Consumidor
Executa sleep e vai dormir
Produtor
Produz até encher o buffer, executa sleep e vai dormir
Ambos dormirão eternamente!!! O sinal de wakeup do
produtor foi perdido (não teve efeito), pois o consumidor
ainda não estava logicamente dormindo