看板 Grad-ProbAsk 關於我們 聯絡資訊
今天上洪逸的課時 講到Hardware Instruction Support的第二個演算法時 他說如果把演算法中waiting[i]=False;刪掉會如何? 在筆記裡有說違反Progress<i><ii> 但是他說違反<i>是因為Pj離開C.S時會偵測到Pi想進入C.S 所以Pj會把改變waiting[i]為false而lock仍維持true 然而Pi不想進入C.S 已違背Progress<i> 但是我發現等Pj出了C.S後偵測到Pi時 不是有個判斷if(j==i)lock=false; 所以這個地方應該是先把lock改為false 而不是把waiting[i]改為false 請問是老師講錯了? 還是有其他解釋為何違反progress的方法? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.194.52 ※ 文章網址: http://www.ptt.cc/bbs/Grad-ProbAsk/M.1405872328.A.99F.html