用pv原语实现进程同步,具体问题如下

设置两个进程PA和PB,一个缓冲区X,一个数据表WB,PA和PB通过缓冲区X进行数据传递。PA每次从键盘接收一个数据后放入缓冲区X,PB从缓冲区X接收数据后存放到数据表WB中。
数据发送和接收过程满足如下条件: PA送一数据入缓冲区之前,PB不可能从缓冲区中取出数据。如果进程PB在PA送一数据之前到,则PB需要等待,如果PB未取走上一数据,则PA需要等待。
P、V原语操作问题,可以采取模拟办法,用整型变量R置“1”和置“0”操作分别表示缓冲区X中“准备好”和“未准备好”数据。PA向缓冲区X放入数据后需要将R置“1”,PB从缓冲区X接收数据后将R置“0”,R初值为“0”。
PA和PB需要互斥使用冲区X,可以通过设置一个初值为“1”的信号量来实现。
可以通过主程序产生随机数来随机调用PA和PB来达到两进程随机到来效果。