主观

40. 假定有二三个进程P1、P2、P3共享一个缓冲器A,而A中每次只能存放一个数。当缓冲器中无数时,进程P1可将从输入设备上读入的数存放到缓冲器A中。若存放到缓冲器中的是奇数,则允许进程P2将其取出打印;若存放到缓冲器中的是偶数,则允许进程P2将其取出打印。同时规定:进程P1必须等缓冲器中的数被取出打印后才能再存放一个数;进程P1或P2对每次存人缓冲器中的数只能打印一次;P1和P2都不能从空的缓冲器中取数。

试填空使下列程序完整。

begin

 B:integer:

 S,SO,SE:semaphore;

 S:=1;SO:=0;SE:=0;

cobegin

 process P1

 x:integer:

begin

L1:从输入设备读一个数;

x:=读入的数;

P(s);

B:=x:

if B=奇数then

(1)__________

else

(2)__________

goto L1

end;

process P1

y:integer;

begin

L2:__________(3)

y:=B;

(4)__________

打印y中的数;

goto L2

end;

process P2

Z:integer;

begin

L3:__________(5)

z:=B:

(6)__________

打印z中的数;

goto L3;

end;

coend;

end;

参考答案
您可能感兴趣的试题
¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服