mutex=1;semaphore seatcount=100;reader_i() { P(seatcount); //申请座位 P(mutex);登记申请表 V(mutex);进入阅览室读书 P(mutex);注销登记信息 V(mutex);V(seatcount); //释放座位 离开阅览室 }
semaphore seats=E0, mutex=A;cobegin procedureEnter { while(TRUE){ p(seats);p(mutex);填写登记表;进入阅览室阅读;v(mutex);} } procedureLeave { while(TRUE){ p(mutex);消掉登记;
填写登记表;进入阅览室读书;V(mutex) /*离开临界区*/ V(readers)} 读者离开阅览室的动作描述getout:while(TRUE){ P(readers) /*阅览室是否有人读书*/ P(mutex) /*进入临界区*/ 撤销登记;
5、做好图书的整理、归类、登记工作。随着学校对图书室工作的日益重视,学校的图书、杂志、报刊越来越多,为了方便大家的借阅,也为了避免图书的流失,在本学期我将进一步做好图书的整理、归类、登记工作。二、
填写登记表;进入阅览室读书;V(mutex) /*离开临界区*/ V(readers)} 读者离开阅览室的动作描述getout:while(TRUE){ P(readers) /*阅览室是否有人读书*/ P(mutex) /*进入临界区*/ 消掉登记;
203 浏览 5 回答
108 浏览 5 回答
200 浏览 5 回答
251 浏览 5 回答
118 浏览 6 回答
218 浏览 5 回答
196 浏览 5 回答
323 浏览 5 回答
242 浏览 5 回答
360 浏览 5 回答
267 浏览 5 回答
299 浏览 5 回答
325 浏览 6 回答
145 浏览 5 回答
282 浏览 5 回答
351 浏览 5 回答
187 浏览 5 回答
275 浏览 5 回答