看板 Grad-ProbAsk 關於我們 聯絡資訊
http://www.lib.ntu.edu.tw/exam/graduate/99/99404.pdf 題目是 no writer needs to wait for more than 3 readers 我自己嘗試寫了一下,請問這樣對嗎(語法&邏輯) 我的想法是增加一個waitcnt變數,用來紀錄執行了幾個reader waitcnt會在reader執行後+1 每當waitcnt=3就會把自己卡住wait(rsem) 然後解救writer ...略 reading is performed wait(x) readcnt = readcnt-1; waitcnt = waitcnt+1; if readcnt == 0 signal(wsem); if waitcnt == 3 waitcnt = 0; if writecnt > 0 wait(rsem); signal(wsem); #1DEgKisj (Grad-ProbAsk) 推 killersky:我的想法是"當Wirter到達且開始等時,最多允許再給三個 01/23 06:43 → killersky:reader進入" 01/23 06:45 → killersky:用意是Reader有利的條件弱一點,Writer不會starvation. 01/23 06:46 → killersky:(我一開始的Writer 拼錯了XD 見諒) 01/23 06:47 我絕得題目好像沒有要求這麼嚴謹, 他只要求每個writer不要等待超過3個reader就好 -- 雲長曰 :“曹操望見煙,知有埋伏,如何肯來?” 孔明笑曰:“豈不聞兵法虛虛實實之論?操雖能用兵,只此可以瞞過他也。 他見煙起,將謂虛張聲勢,必然投這條路來。將軍休得容情。” -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.80.201 ※ 編輯: bjk 來自: 114.34.80.201 (04/08 14:26) ※ 編輯: bjk 來自: 114.34.80.201 (04/08 14:29) ※ 編輯: bjk 來自: 114.34.80.201 (04/08 14:31)