→ ken52011219: 剛剛有試著TRACE 但太難呈現了直接放棄 11/28 20:13
→ ken52011219: 因為一開始retry 的初始值就是 0 了 P1直接進去 11/28 20:13
→ ken52011219: 當P1做完 end;之後 ....s;... 下方會if else判定 11/28 20:14
→ ken52011219: 要signal哪一個, mutex、sleep 會在做的過程中為0 11/28 20:15
→ ken52011219: 只剩下RETRY 為 2 因此signal(retry) 11/28 20:16
→ ken52011219: P2 做完同上 11/28 20:16
→ ken52011219: 昨天混進模擬考考試太累所以沒看 同為重考生加油 QQ 11/28 20:17
→ ken52011219: 看錯 mutex 為 1 且不在if判定式內 所以無關 11/28 20:20
→ joeboy: 剛剛跟朋友討論完,好像只要有一個人條件成立完成之後就 11/28 22:20
→ joeboy: 會叫醒sleep中的人進入retry,接下來就會全部叫醒sleep 11/28 22:20
→ joeboy: 的人,等到sleep中沒有人之後最後一個進入retry的會sign 11/28 22:20
→ joeboy: al第一個去check B條件 11/28 22:20
→ ken52011219: 思考了一下,你們討論的跟我思考的只有一點不同 11/28 22:35
→ ken52011219: P_1是如何得到Signal(retry)的 11/28 22:35
→ ken52011219: 「第一個」進入retry的是直接進入沒錯 11/28 22:36
→ ken52011219: 而當「不同批」的Process進入時 若第一批的process 11/28 22:37
→ ken52011219: 已經在retry區 , 下一批才剛在mutex等時 就是如你們 11/28 22:38
→ ken52011219: 所說的 等到下一批的最後一個process進入retry區 11/28 22:39
→ ken52011219: retry 才signal 由1變0 11/28 22:39