P进程负责从缓冲区B2中取出信息,并在打印机上印出。
②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。 ③信号量含义及初值:
B1full——缓冲区B1满,初值为0; B1empty——缓冲区B1空,初值为0; B2full——缓冲区B2满,初值为0; B2empty——缓冲区B2空,初值为0;
R进程 C进程 P进程
输入信息写入缓冲区B1 P(B1full) V(B1full) 从B1中取出信息从B2中取出信息进行打印P(B1empty)加工信息V(B2empty) 结果送入B2 V(B1empty)
V(B2full) P(B2empty)
P(B2full)