所述的哲學家晚餐問題的導體解決方案表明,使用大小爲4的半音,並且所有哲學家都試圖在右前叉之前得到左叉。 http://en.wikipedia.org/wiki/Dining_philosophers_problem#Conductor_solution導體解決哲學家晚餐
信號量應該用於每個人訪問左側叉子和每個人訪問右側叉子嗎?
哲學家應該怎麼做,如果他們可以得到左叉,但沒有在指定的時間內得到正確的叉?他們應該給左後衛嗎?
哲學家迴歸什麼順序有什麼關係?
當然,這個解決方案仍然可能導致飢餓。例如維基說A和C都有兩個分支。這意味着信號量將不再向任何人分叉,並堅持到第五。 D和E之間的叉子必須留在桌子上。然後說A返回他的右叉。
現在信號燈就會回到3
d可以爲左叉再試一次,然後意識到他無法獲得正確的。 B只能左轉。再次沒有用處。
而且A可以嘗試再次選擇合適的叉子,因爲他已經有了左手。這意味着我們繞着圈子走。
我缺少的東西
有幫助嗎?
信號量應在拾取*叉*之前使用,這就是要點。 – Bergi 2013-03-28 00:34:42
@Bergi然後再增加兩個?所以它永遠不會被增加一個? – 2013-03-28 01:17:32