问题 问答题

银行有n个柜员,每个顾客进入银行后先取一个号,并且等着叫号,当一个柜员空闲后,就叫下一个号。试用信号量方法PV操作实现此过程,并给出信号量定义和初始值。

答案

参考答案:将顾客号码排成一个队列,顾客进入银行领取号码后,将号码由队尾插入。柜员空闲时,从队首取得顾客号码,并且为这个顾客服务,由于队列为若干进程共享,所以需要互斥。柜员空闲时,若有顾客,就叫下一个顾客并为之服务。因此,需要设置一个信号量来记录等待服务的顾客数。

选择题
单项选择题