【正确答案】:
本题也可看做是两个生产者/消费者问题。Reader进程为生产者,Executor进程既是消费者又是生产者,Printer进程为消费者,由于这里有两个缓冲区,所以要设四个信号量:SR表示是否能把数据存人缓冲区B1,初值为1;SE1表示缓冲区B1中是否已存有数据可供处理,初值为0:SE2表示是否把处理过的数据存入缓冲区B2,初值为1;SP表示缓冲区B2中是否已有数据可供打印,初值为0。
用P、V操作管理这三个并发进程的程序如下:

P116
本题也可看做是两个生产者/消费者问题。Reader进程为生产者,Executor进程既是消费者又是生产者,Printer进程为消费者,由于这里有两个缓冲区,所以要设四个信号量:SR表示是否能把数据存人缓冲区B1,初值为1;SE1表示缓冲区B1中是否已存有数据可供处理,初值为0:SE2表示是否把处理过的数据存入缓冲区B2,初值为1;SP表示缓冲区B2中是否已有数据可供打印,初值为0。
用P、V操作管理这三个并发进程的程序如下:

P116
📱 扫码体验刷题小程序
扫一扫使用我们的微信小程序