Оглавление:
- Определение - Что означает проблема столовых философов?
- Техопедия объясняет проблему столовых философов
Определение - Что означает проблема столовых философов?
Проблема обедающих философов является классическим примером в информатике, часто используемым для иллюстрации проблем синхронизации и решений в параллельной разработке алгоритмов. Это иллюстрирует проблемы предотвращения состояния системы, где прогресс невозможен, тупик. Задача была создана в 1965 году Э. У. Дейкстра. Эта задача, представленная в качестве экзаменационной работы для студентов, иллюстрирует ряд компьютеров, конкурирующих за доступ к периферийным устройствам на магнитной ленте. Известная сегодня формулировка была позже пересмотрена Тони Хоаром.
Техопедия объясняет проблему столовых философов
Проблема обедающих философов является иллюстрацией тупика, состояния, в котором несколько процессов ожидают использования одного ресурса, который в данный момент используется другим процессом, и решений этих типов проблем. Нынешняя формулировка проблемы с философами была создана Тони Хоаром, но проблема была первоначально сформулирована Эдсгером Дейкстрой в 1965 году.
Задача Тони Хоара о пяти философах, которые должны альтернативно есть и думать. Все пять сидят за круглым столом с тарелкой спагетти и вилками, расположенными рядом между философами. Вилкой может пользоваться только один философ за раз. Однако, чтобы поесть, требуются две вилки - вилка слева и справа. Философ может взять доступную вилку, но ему нельзя есть, если у философа нет как левой, так и правой вилки. Следует отметить, что прием пищи не ограничен возможным количеством оставленных спагетти или желудка. Предполагается, что существует бесконечный спрос на спагетти и спрос.
