[問卦] 哲學家就餐問題,IT界有名的思考題

作者: tomhawkreal (阿湯)   2025-07-14 10:09:12
這個題目,1971年由荷蘭電腦科學家Edsger W. Dijkstra提出
主要概念就如這張圖:
https://upload.wikimedia.org/wikipedia/commons/8/81/Dining_philosophers_diagram.jpg
wiki短網址
https://w.wiki/EikT
[問題描述]
哲學家就餐問題可以這樣表述,假設有五位哲學家圍坐在一張
圓形餐桌旁,做以下兩件事情之一:
吃飯,或者思考。
吃東西的時候,他們就停止思考,思考的時候也停止吃東西。
餐桌上有五碗義大利麵,每位哲學家之間各有一支餐叉。
因為用一支餐叉很難吃到義大利麵,所以假設哲學家必須用
兩支餐叉吃東西。他們只能使用自己左右手邊的那兩支餐叉。
哲學家就餐問題有時也用米飯和五根筷子而不是義大利麵和
餐叉來描述,因為吃米飯必須用兩根筷子。
這個問題不考慮義大利麵有多少,也不考慮哲學家的胃有多大
。假設兩者都是無限大。
[進一步說明]
這個問題旨在說明避免死結的挑戰,死結是一種程式無法繼續
執行的狀態。

Links booklink

Contact Us: admin [ a t ] ucptt.com