O Jantar dos Filósofos

339 palavras 2 páginas
Jantar dos filósofos O problema do jantar dos filósofos foi formulado e resolvido por Dijkstra em 1959.
Cinco filósofos estão sentado em torno de uma mesa circular. Cada filósofo tem um prato de espaguete. O espaguete está tão escorregadio que um filósofo precisa de dois garfos para comê-lo. Entre cada par de pratos está o garfo. A vida do filósofo consiste em alternar períodos de comer e pensar. Quando um filósofo fica com fome, ele tenta pegar os garfos à sua direita e à sua esquerda, um de cada vez, em qualquer ordem. Se conseguir pegar dois garfos ele comerá durante um determinado tempo e então colocará os garfos na mesa novamente e continuará a pensar.
O Problema dos Filósofos é um exemplo clássico da área de Programação Concorrente. Tem por objetivo demonstrar a alocação de recursos quando temos processos que concorrem pela alocação dos mesmos, ou seja,os recursos são escassos.
A implementação proposta apresenta cinco (5) filósofos e cinco (5) garfos. A idéia central deste problema é que dado os FILÓSOFOS e os GARFOS em um JANTAR, cada filósofo necessita de DOIS (2) garfos para comer. Os filósofos podem estar em um destes três (3) estados: PENSANDO, FAMINTO ou COMENDO. Se um filósofo está no estado PENSANDO e quer passar para o estado COMENDO, ele tenta pegar dois (2) garfos. Se ele não consegue pegar os dois (2) garfos, passa o estado FAMINTO. Se consegue pegar os dois garfos ele passa para o estado COMENDO. Enquanto no estado FAMINTO, o filósofo permanece tentando pegar os garfos, ou seja, fica esperando a liberação dos garfos. Como é de conhecimento, caso não exista uma ordem para pegar os garfos, pode ocorrer deadlocks. Para tanto adotamos a seguinte solução: quando um filósofo quer comer, ele toma um garfo do filósofo a sua direita, se este filósofo não o estiver usando. Assim sendo, os métodos que implementam o ato de pegar e liberar os garfos são sincronizados, ou seja, somente um (1) filósofo entra no corpo do método por vez.

Relacionados

  • Jantar dos Filosofos
    577 palavras | 3 páginas
  • Jantar dos filósofos
    918 palavras | 4 páginas
  • Jantar dos filósofos
    2546 palavras | 11 páginas
  • O Jantar dos Filósofos
    334 palavras | 2 páginas
  • Jantar dos filósofos
    535 palavras | 3 páginas
  • Jantar Filosofos
    583 palavras | 3 páginas
  • Jantar dos filósofos
    1030 palavras | 5 páginas
  • Jantar dos filósofos
    1856 palavras | 8 páginas
  • Entendendo o Jantar dos Filósofos
    1031 palavras | 5 páginas
  • Problema do jantar dos filósofos
    1064 palavras | 5 páginas