看板 Grad-ProbAsk 關於我們 聯絡資訊
https://i.imgur.com/r8Xppxm.jpg https://i.imgur.com/PRkEZJ6.jpg 假設c<0 這樣程式不是就會卡在wait (s2) 無法執行其他程式 這樣要怎麼 如何用signal (s2)解開? 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.169.88 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1536822324.A.075.html
qazws3483: 補問 https://i.imgur.com/qaJohOW.jpg 為什麼會造 09/13 15:13
qazws3483: 成deadlock 呢 09/13 15:13
wilson50101: wait(mutex) 09/13 16:08
wilson50101: c.s 09/13 16:08
wilson50101: wait(mutex) 09/13 16:08
wilson50101: 這樣一來沒有signal救人把mutex+1 09/13 16:08
wilson50101: 後面想進來c.s的process全部都會卡住形成deadlock 09/13 16:08
wilson50101: code寫兩遍 pi pj來trace比較好懂 09/13 16:08
qazws3483: 謝謝wilson大 下面的懂了 09/14 00:02
alen0303: 被卡在wait(s2)前會先執行signal(s1) 09/14 18:44
alen0303: 所以signal不會卡在wait(s1) 能通過條件式執行signal(s2 09/14 18:47