单选题
进程PA不断地向管道写数据,进程PB从管道中读数据并加工处理,如图3-4所示。如果采用PV操作来实现进程PA和进程PB间的管道通信,并且保证这两个进程并发执行的正确性,则至少需要______。
A、
1个信号量,信号量的初值为0
B、
2个信号量,信号量的初值分别为0,1
C、
3个信号量,信号量的初值分别为0,0,1
D、
4个信号量,信号量的初值分别为0,0,1,1
【正确答案】
B
【答案解析】
[分析] 这是一个典型的生产者—消费者问题,其中PA、PB分别为生产者和消费者,管道为临界区。程序应该设置1个同步信号量,信号量为1时说明管道已满,拒绝PA再写入数据;信号量为0时说明管道为空,拒绝PB再读出数据。管道初始是没有数据的,所以初始值为0。程序还需要1个互斥信号量,来保证程序只有一个进程访问管道,其初始值为1。
提交答案
关闭