generated at
食事する哲学者の問題
「食事する哲学者」の問題は、並行処理研究課題としてダイクストラにより提案された。
その内容は以下の通り。
円卓を囲んで5人の哲学者が思策にふけりつつ、時に応じて食事を取る。
食事は円卓中央の皿に山盛りにされたスパゲッティである。
しかし、このスパゲッティはあまりにもからまりあっているので、食べるときには両手にフォークを持って食べなければならない。
フォークは、哲学者と哲学者の間に1本ずつ、都合5本が置いてある。
つまり、右隣の哲学者が食事をしている最中は、右側のフォークは使用中であり、自分では使えないことになる。
左についても同じ。
ここで問題は、5人の哲学者が一人も飢えることがないように、食事をさせるプログラムを書くことである。

この問題は並行処理のモデル化であり、フォークが共有資源にあたる。また、フォークを哲学者たちが取り合う部分がCritical Sectionとなる。

5 人の哲学者の食事問題(five dining philosophers' problem)
生産者と消費者の問題、生産者・消費者問題、プロデューサ・コンシューマ問題(producer-consumer problem
食事する暗号学者の問題 -- 名前は似ているが問題としての関連はない。