目的:3 部列表機被 n 個 process 共享,設計
monitor 去支配三部列表機依照 process
之 priority number(值越大優先權值越高)
宣告.....
request演算法中:
void request printer(int proc_number)
{
if (num avail > 0) {
num avail--;
return;
}
waiting[num_waiting] = proc_number;
num_waiting++;
sort(waiting);
while (num avail == 0 || waiting[0] != proc_number) do
c.wait(proc_number);
waiting[0] = waiting[num_waiting-1];
num_waiting--;
sort(waiting);
num_avail--;
}
從waiting[num_waiting]之後我就看不懂了= =有人可以解釋一下嗎,感恩!
PS.跟洪逸教得不太一樣,好像是原文書的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.82.34
※ 編輯: jas1123kimo 來自: 140.120.82.34 (12/13 14:03)