Buscar

Jantar dos filosofos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Jantar dos filósofos
Jantar dos filósofos é um problema que consiste em cinco filósofos sentados 
em volta de mesa pensando e comendo, eles dividem entre si um recurso o garfo, 
cada filósofo possui um garfo porém ele necessita de dois para poder comer, assim 
ele terá que pegar o garfo do seu vizinho emprestado, porém na programação a 
resolução desse problema pode gerar outros dois tipos de problemas o deadlock e o
starvation. 
Para resolver esse problema se usa a técnica de programação concorrente, 
onde cria-se uma thread para representar cada filósofo e uma área critica entre eles,
para controlar o acesso à área critica, utilizamos um mecanismo computacional 
chamado semáforo. A resolução do problema consiste em que quando um filósofo 
estiver comendo seus vizinhos da direita e da esquerda ficarão aguardando a 
liberação do garfo, para que não haja uma disputa pelo mesmo evitando um 
deadlock. Mas ainda temos o problema do starvation, onde todos os filósofos têm 
que comer aleatoriamente, pois se não os mais famintos matarão os demais de 
fome, pois eles nunca conseguirão o acesso aos recursos necessários para poder 
comer.
Esse problema e clássico na computação, é um dos problemas da 
programação concorrente. O jantar dos filósofos é uma representação da 
necessidade de alocar vários recursos para diferentes processos, sem que ocorra 
deadlock ou starvation, ele foi proposto por Dijkstra em 1965 para representar esse 
problema.
	Jantar dos filósofos

Outros materiais