假定有一个可存放50封信的公共信箱,现要用PV操作的管理方式来实现进程间通信。
请回答:
(1)该问题能用解决生产者/消费者问题的方法来实现吗?
(2)写出用PV操作管理时应定义的变量和信号量及其含义;
(3)写出发送进程和接收进程的程序(发送进程和接收进程名自定)。
(1)能。
(2)B:array[0,49]of integer;//可存放50封信的信箱//
k,t:integer;k:=0;t:=0;//存信和取信的指针//
S1,S2:semaphore:S1:=1;S2:=1://互斥使用指针的信号量//
SP,SG:semaphore:SP:=50;SG:=0;//存信和取信的同步信号量//
(3)程序如下: