第三章 九阴真经之研究生题辑
一 真经之银行排队问题(北京大学)
问题描述 银行有n个柜员每个顾客进入银行后先取一个号并且等着叫号当一个柜员空闲后就叫下一个号
问题分析 将顾客号码排成一个队列顾客进入银行领取号码后将号码由队尾插入柜员空闲时从队首取得顾客号码并且为这个顾客服务由于队列为若干进程共享所以需要互斥柜员空闲时若有顾客就叫下一个顾客为之服务因此需要设置一个信号量来记录等待服务的顾客数
The PV code Using Pascal
begin var mutex=customer_count=:semaphore; cobegin process customer begin repeat 取号码 p(mutex); 进入队列 v(mutex); v(customer_count); end 返回《操作系统之PV金典》 [] [] |