生产围棋的工人不小心把相等数量的黑子和白子混合装在一个盒子里,现在要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程PA和PB组成,系统功能如下: (1)PA专拣黑子,PB专拣白子; (2)每个进程每次只拣一个子,当一个进程拣子时,不允许另一个进

admin2017-10-26  59

问题 生产围棋的工人不小心把相等数量的黑子和白子混合装在一个盒子里,现在要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程PA和PB组成,系统功能如下:
(1)PA专拣黑子,PB专拣白子;
(2)每个进程每次只拣一个子,当一个进程拣子时,不允许另一个进程去拣子;
(3)当一个进程拣了一个子(黑或白)后,必须让另一个进程去拣一个子(白或黑)。
请回答:
根据定义的信号量,写出用PV操作管理两个并发进程的程序。

选项

答案程序如下: begin S1,S2:semaphore: S1:=1; S2:=0; cobegin process PA begin L1:P(S1); 拣黑子; V(S2); goto L1: end; process PB begin L2:P(S2); 拣白子; V(S1); goto L2: end; coend; end;

解析
转载请注明原文地址:https://jikaoti.com/ti/vjdaFFFM
0

最新回复(0)