推 try66889: P1 time=1才進入 P2 time=0進入 所以會先執行P2 wait(S) 12/22 17:01
→ try66889: 因為Semaphore=1 => p2可以進入,開始做busy(2) 12/22 17:02
→ try66889: 執行1s後,p1進入。因為p1優先權較高且preemptive 12/22 17:03
推 kopk159: P2 先到先做1秒(wait搶走資源 busy2 做了一秒)後 12/22 17:04
→ kopk159: P1到 搶走CPU(優先權較高)做完busy2 被wait卡住 12/22 17:04
→ kopk159: 還P2接著做完中間的busy 之後signal S 12/22 17:04
→ kopk159: P1 離開wait拿到資源 優先權又較高 搶走cpu P1做到底 12/22 17:04
→ kopk159: 沒人使用了 所以P2把剩下做完 12/22 17:04
→ try66889: P1搶走CPU且開始執行P1的busy(2),2S後被wait(S)卡住 12/22 17:05
→ try66889: 後面就是樓上說的那樣XD 12/22 17:06