#實現語言:c##問題描述:
有乙個閱覽室,共有10個座位,讀者進入時必須先在一張登記表上登記,該錶為每一座位列一表目,包括座號和讀者姓名等,讀者離開時要消掉登記的資訊
#問題分析:
讀者的動作有兩個,一是填表進入閱覽室,這時要考慮閱覽室裡是否有座位;一是讀者閱讀完畢,離開閱覽室,這時的操作要考慮閱覽室裡是否有讀者.讀者在閱覽室讀書時,由於沒有引起資源的變動,不算動作變化.
演算法的訊號量有三個:seatcount——表示閱覽室是否有空座位(初值為10,代表閱覽室的空座位數);用於互斥的mutex,初值為1.
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading;
}public
static
void
reader()
} mutex.
release()
; console.
writeline
("閱讀中");
thread.
sleep
(5000);
mutex.
waitone()
; console.
writeline
("登出");
for(int i =
0; i <
10; i++)}
mutex.
release()
; seatcount.
release()
;}}}
閱覽室(模擬)
天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平均閱讀時間。注意 由於線路偶爾...
pat 閱覽室(c語言實現)
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整...
閱覽室 20分
天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平均閱讀時間。注意 由於線路偶爾...