问题
问答题
某博物馆最多可容纳500人同时参观,有一个出入口,该出入口一次仅允许一个人通过。参观者的活动描述如下: cobegin 参观者进程i: { … 进门; … 参观; … 出门; … } coend
答案
参考答案:定义两个信号量 Semaphore empty=500; //博物馆可以容纳的最多人数 Semaphore mutex=1; //用于出入口资源的控制 cobegin 参观者进程i: { ... P(empty); P(mutex); 进门; V(mutex); 参观; P(mutex); 出门; V(mutex); V(empty); ... } coend