作者tomhawkreal (阿湯)
看板Gossiping
標題[問卦] 哲學家就餐問題,IT界有名的思考題
時間Mon Jul 14 10:09:12 2025
這個題目,1971年由荷蘭電腦科學家Edsger W. Dijkstra提出
主要概念就如這張圖:
https://upload.wikimedia.org/wikipedia/commons/8/81/Dining_philosophers_diagram.jpg
wiki短網址
https://w.wiki/EikT
[問題描述]
哲學家就餐問題可以這樣表述,假設有五位哲學家圍坐在一張
圓形餐桌旁,做以下兩件事情之一:
吃飯,或者思考。
吃東西的時候,他們就停止思考,思考的時候也停止吃東西。
餐桌上有五碗義大利麵,每位哲學家之間各有一支餐叉。
因為用一支餐叉很難吃到義大利麵,所以假設哲學家必須用
兩支餐叉吃東西。他們只能使用自己左右手邊的那兩支餐叉。
哲學家就餐問題有時也用米飯和五根筷子而不是義大利麵和
餐叉來描述,因為吃米飯必須用兩根筷子。
這個問題不考慮義大利麵有多少,也不考慮哲學家的胃有多大
。假設兩者都是無限大。
[進一步說明]
這個問題旨在說明避免死結的挑戰,死結是一種程式無法繼續
執行的狀態。
--
會想出這種比喻,難道他眼中的哲學家就是這副德性嗎?
一起吃義大利麵還共用餐叉,會打死結...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.218.188 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1752458955.A.3B4.html
→ adios881: 就 dad luck 122.117.14.92 07/14 10:10
→ bill403777: 為啥一隻叉子不能吃麵 42.72.90.251 07/14 10:10
→ laladiladi: 印度人直接用手 27.242.94.30 07/14 10:10
推 sazdj: 同時最多2位哲家吃麵 最少3位思考 49.215.217.158 07/14 10:12
推 simon9331: 最後掏出自備的環保筷。 175.180.84.51 07/14 10:23
→ Forcast: 哲學談關稅 114.25.150.71 07/14 10:24
推 licklabium: 一支叉子明明就很容易吃飯 111.248.138.50 07/14 10:50
→ MB32ptt: 吃個飯太多限制223.141.137.247 07/14 11:17