V(mutex1) 服务 V(S1) 顾客进程 P(mutex) 取号 V(mutex) P(S1) 享受服务 V(S2)
15.买方有三个进程,卖方有1个进程
卖方,和买方的同步信号量 S1,S2 ,初值为0,1. 听音乐时的互斥信号量;mutex
卖方进程
P(S1) (没有音乐爱好者,等待)
卖物品
P(mutex)
放音乐
V(mutex)
V(S2) 买方进程
P(S2) 买物品
V(S1) {老板可以卖东西}
16. 设信号量e,f1,f2:semaphore;
初值 e=1;f1=f2=0; Cobegin
Process R
Begin
L1:P(e);
生产一数据,放入缓冲区B;
V(f1);
Goto L1; End; Process M
Begin
L2:P(f1);
加工缓冲区B中数据;
V(f2);
Goto L2; End;
Process P
Begin
L3:P(f2);
打印缓冲区B中数据;
V(e);
Goto L3; End;
Coend
17 解:定义信号量:S:表示是否有进程进入临界区,初值为1.(表示没有进程进入临界区) begin