Índice:
- Definição - O que significa o Dining Philosophers Problem?
- Techopedia explica o problema dos filósofos do jantar
Definição - O que significa o Dining Philosophers Problem?
O problema dos filósofos gastronômicos é um exemplo clássico em ciência da computação, freqüentemente usado para ilustrar problemas e soluções de sincronização no design simultâneo de algoritmos. Ilustra os desafios de evitar um estado do sistema em que o progresso não é possível, um impasse. O problema foi criado em 1965 por EW Dijkstra. Apresentado como um exercício de exame do aluno, o problema ilustra vários computadores competindo pelo acesso a periféricos de unidades de fita. A formulação conhecida hoje foi uma revisão posterior de Tony Hoare.
Techopedia explica o problema dos filósofos do jantar
O problema dos filósofos gastronômicos é uma ilustração de um impasse, um estado no qual vários processos aguardam um único recurso atualmente sendo usado por outro processo e as soluções para esses tipos de problemas. A presente formulação do problema com os filósofos foi criada por Tony Hoare, mas o problema foi originalmente formulado por Edsger Dijkstra em 1965.
A declaração do problema de Tony Hoare é sobre cinco filósofos que, alternativamente, devem comer e pensar. Todos os cinco estão situados em uma mesa redonda com um prato de espaguete e garfos colocados adjacentemente entre filósofos. Um garfo só pode ser usado por um filósofo de cada vez. No entanto, para comer, são necessários dois garfos - garfo na esquerda e na direita. Um filósofo pode pegar um garfo disponível, mas não pode comer a menos que o filósofo tenha os garfos esquerdo e direito. Note-se que comer não é limitado pela quantidade possível de espaguete restante ou espaço no estômago. Supõe-se que haja uma oferta infinita de espaguete e demanda.