看板 Grad-ProbAsk 關於我們 聯絡資訊
※ 引述《nypgand1 (祈附‧征前御祭)》之銘言: : var flag: array[0..1] of Boolean; (initailly false) : turn: 0..1; (initailly 1) : The following program is for process Pi (i = 0 or 1), : with Pj (j = 1 or 0) being the other process : repeat : flag[i]:=ture; : while turn < > i : do begin : while flag[j] do no-op; : turn:=i; : end : //critical section : flag[i]:=false; : //remainder section : until fasle; : 類似像這樣給code然後要求證明 : mutual exclusive、progress、bounded waiting : 這三個的題目蠻多的 變化也很多 : 想問說這類的題目有沒有什麼解題技巧? : 如果沒有的話 純解這題也可以 : 謝謝!! 我想提出一點我的看法 有錯請指正 # Mutual Exclusion 我想到一個case會不滿足 當Pi執行到 while flag[j] do no-op; 而Pj尚無進入CS之意願 而當Pi準備將turn設成i時 Pj有意願進入且直接進入CS (因為turn=j,不會被while卡住) 其後Pi又搶到CPU將turn設成i 也進入CS中 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.189.11
chris750630:其實後來吃飯時想想 我寫錯了 XDDD 08/21 15:23
christianSK:那是我對的嗎XD? 08/21 15:24
chris750630:然後我還回錯篇 sorry XDD 08/21 15:24
chris750630:讓我在想想 XDD 08/21 15:26
nypgand1:看起來是對的耶!! 那可以幫我看看另外兩個條件有無符合嗎 08/21 15:26
nypgand1:我還有幾個比較瑣碎的問題在上面上那篇 謝謝兩位XD 08/21 15:26
nypgand1:所以大家都是自己在腦中跑跑看嗎 還是有什麼技巧? 08/21 15:27
christianSK:我是一行一行看 看到了這行如果CPU被搶走會怎麼樣 08/21 15:28