Skip to content

Решение известной задачи обедающих философов на С, используя потоки.

Notifications You must be signed in to change notification settings

Meystergod/philosophers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Решение известной задачи обедающих философов на С, используя потоки.

Условие задачи:

  • В пансионе отдыхают и предаются размышлениям 5 философов (потоки), пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно. Также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок (разделяемые ресурсы), назначение которых очевидно. Для того чтобы пообедать, философ входит в столовую и садится на любой стул. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок. Пообедав, философ кладет обе вилки на стол одновременно и уходит. Величина временного промежутка для поглощения пищи устанавливается пользователем. А появление философа в столовой является случайной величиной с равномерным законом распределения.

About

Решение известной задачи обедающих философов на С, используя потоки.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages