xadrone / Philosophers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Philosophers

Задача:

  • Один или несколько философов сидят за круглым столом. В центре стола стоит большая миска со спагетти.
  • Философы поочередно едят, думают или спят. Пока они едят, они не думают и не спят; размышляя, они не едят и не спят; и, конечно, во время сна они не едят и не думают.
  • На столе тоже есть вилки. Развилок столько же, сколько философов.
  • Поскольку подавать и есть спагетти только одной вилкой очень неудобно, а философ берет правую и левую вилки для еды, по одной в каждую руку.
  • Когда философ заканчивает есть, он кладет свои вилки обратно на стол и начинает спать. Проснувшись, они снова начинают думать. Симуляция прекращается, когда философ умирает от голода.
  • Каждый философ должен есть и никогда не должен голодать.
  • Философы не разговаривают друг с другом.
  • Философы не знают, скоро ли умрет другой философ.
  • Не нужно говорить, что философы должны избегать смерти!

пример :

./philo 4 500 200 200

alt text

About


Languages

Language:C 95.8%Language:Makefile 4.2%