首页 > 试题广场 >

回答下面问题

[问答题]

生产者—消费者问题表述如下:一组生产者进程和一组消费者进程通过缓冲区发生联系。生产者进程将生产的产品送入缓冲区,消费者进程则从中取出产品。假定环形缓冲池中共有N个缓冲区,编号为0~N-1。

为了描述生产者进程和消费者进程,设指针in 和out分别指向生产者进程和消费者进程当前所用的缓冲区(buffer),初始值为0。

(1) 应设置三个信号量实现两类进程的同步,分别是full、empty和mutex。请说出它们的含义及初值。

(2) 下面是生产者进程的算法描述,请填写相应的P、V操作语句。

while(1)  {

(          );

(          );

产品送往buffer[in];

in=(in+1)%n;

(          );

(           );

}

(3)指出生产者进程算法中的临界区是哪一段程序?

这道题你会答吗?花几分钟告诉大家答案吧!