看板 Grad-ProbAsk 關於我們 聯絡資訊
wait(S) signal(S) wait(S1) wait(S1) C-- C++ // (1) 把下面的signal(S1)移到這會怎樣? if(C<0) if(C <= 0) { { signal(S1) (1) signal(S2) wait(S2) } } signal(S1) else { signal(S1) // (2)沒這行會怎樣? } 這是用binary semaphore模擬counting semaphore的code 請高手相助 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.110.186 ※ 編輯: mqazz1 來自: 140.118.110.186 (11/11 20:50)
da0910cc:我覺得(2)沒有的話C只要不是小於0,S1就卡住了 11/11 21:02
jim055006:對於(1)我的想法是移到那行的話...C值就不會互斥了 11/11 23:11
da0910cc:原本要做的如果是C<0,移上去的話有可能會做到else那邊了 11/12 00:23
da0910cc:原本要做C<0那段,變成作ELSE了 11/12 00:26