原题如下:
这个是参考答案
是
我最后的思考结果:
semaphore mutex = 1; // 互斥访问取号机
semaphore seat = 10; // 座位数 ; 客户看到有座位才取号
semaphore service = 0; // 待服务的客户数量; 柜台看到有号才叫
cobegin{
Pi () // 顾客i
{
P(seat) ; // 有座位才进来取号办业务 ; 假设是第一位客户,那seat就是10-1=9
P(mutex) ; // 取号过程互斥
客户取号;
V(mutex) ; // 取号结束,其他人可以接着取<