【正文】
時,取左、右最靠近他的兩根筷子進(jìn)餐,餐畢,放下筷子繼續(xù)思考。 14 設(shè)置信號量: 分別代表五根筷子的信號量 shopstick[0, 4],初值為 1。 P ( s h o p s t i ck [ i + 1 ] m o d 5 )P ( s h o p s t i ck [ i ] )就 餐V ( s h o p s t i ck [ i ] )V ( s h o p s t i ck [ i + 1 ] m o d 5 )思 考15 五個哲學(xué)家同時饑餓,都已拿起了左邊的筷子,這時他們都會因為拿不到右邊的筷子而無法就餐,于是誰也不能繼續(xù)前進(jìn),這種情況稱為“死鎖”。 (1) 至多只允許有四位哲學(xué)家同時去拿左邊的筷子,最終能保證至少有一位哲學(xué)家能夠進(jìn)餐,并在用畢時能釋放出他用過的兩只筷子,從而使更多的哲學(xué)家能夠進(jìn)餐。 (2) 僅當(dāng)哲學(xué)家的左、右兩只筷子均可用時,才允許他拿起 (3) 規(guī)定奇數(shù)號哲學(xué)家先拿他左邊的筷子,然后再去拿右邊的筷子;而偶數(shù)號哲學(xué)家則相反。按此規(guī)定,將是 2號哲學(xué)家競爭 1號筷子; 4號哲學(xué)家競爭 3號筷子。即五位哲學(xué)家都先競爭奇數(shù)號筷子,獲得后,再去競爭偶數(shù)號筷子,最后總會有一位哲學(xué)家能獲得兩只筷子而進(jìn)餐。