某银行有人民储蓄业务,由n个柜员负责,有1台取号机.每个顾客进入银行后先取一个号,

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:26:03
若有人取号则需等他人取完后才能取,取到号后等待叫号,一个柜员人员空闲下来,就叫下一个号.试用P,V操作正确编写柜台人员和顾客进程的程序.

Void customer()
{
While(1)
{
Wait(mutex);
取号;
Signal(mutex);
等待
Signal(full);
}
}
Void bank()
{
While(1)
{
Wait(full);
Wait(mutex);
叫号
Signal(mutex);
服务
}
}
Semaphore mutex=1,full=无穷
Void mian()
{
Cobegin;
Customer();bank();
Coend;
}

你的问题发错地方了。