O problema dos filósofos famintos

375 palavras 2 páginas
1 O JANTAR DOS FILÓSOFOS
1.1 DEFINIÇÃO
Um problema clássico de sincronização é o do "Jantar dos Filósofos", que foi proposto em 1965 pelo matemático por Dijkstra (1965) e apresenta a seguinte caracterização:



Cinco filósofos estão sentados ao redor de uma mesa circular para o jantar.



Cada filósofo possui um prato para comer macarrão.



Os filósofos dispõem de hashis e cada um precisa de 2 hashis para comer.



Entre cada par de pratos existe apenas um hashi, ou em termos de concorrência, hashis precisam ser compartilhados de forma sincronizada.



Os filósofos comem e pensam, alternadamente. Eles não se atêm a apenas uma das tarefas. •

Além disso, quando comem, pegam apenas um hashi por vez: Se conseguir pegar os dois come por alguns instantes e depois larga os hashis.
O problema é coordenar o uso dos hashis de maneira que nenhum filósofo fique com

fome. Esse problema exemplifica muito bem muitas soluções e muitos problemas encontrados na programação concorrente. Pode facilmente ocorrer o deadlock se cada filósofo pegar o seu hashi da esquerda e se recusar a liberá-lo até ter comido. Pode ocorrer a inanição se dois filósofos conspirarem contra um terceiro.
Assim, uma implementação desse problema deve tratar o deadlock e usar um mecanismo de state para controlar o acesso a região crítica, que é o uso do hashi.

1.2 IMPLEMENTAÇÃO
Na implementação abaixo, utilizou-se a linguagem de programação Python, na versão
estável

Relacionados

  • O Problema da Soma dos Subconjuntos
    1058 palavras | 5 páginas
  • O Problema dos 36 oficiais
    1000 palavras | 5 páginas
  • QUAL O PROBLEMA PRINCIPAL DO CASO
    395 palavras | 2 páginas
  • Problemas sociais do Brasil
    1193 palavras | 5 páginas
  • para que os filosofos investigam o processo do conhecimento
    1463 palavras | 6 páginas
  • Problema do jantar dos filósofos
    1056 palavras | 5 páginas
  • 1) segundo sócrates qual é o papel do filósofo
    378 palavras | 2 páginas
  • Problemas De Otimiza O
    2869 palavras | 12 páginas
  • Problemas e questoes levantadas pelos primeiros filosofos
    4561 palavras | 19 páginas