操作系统第3章进程通信与控制试卷.ppt

Void Producer( ) { While (true) { produce; P(empty); P(mutex); 产品送往buffer(in); in=(in+1) mod n; V(mutex); V(full);//产品数+1 }; } Void consumer( ){ While(true) { P(full);//有无产品消费 P(mutex);//能否进入临界区 从buffer(out)中取出产品; out=(out+1) mod n; V(mutex); V(empty) ; consume; }; } Void Producer( ) { While (true) { produce; P(empty); P(mutex); 产品送往buffer(in); in=(in+1) mod n; V(mutex); V(full);//产品数+1 }; } 判断缓冲池中是否有空缓冲区,如无,则在此等待 如有空缓冲区,则进一步判断有无进程使用互斥缓冲池,如有则在此等待 互斥用完缓冲池后,互斥信号量增1,唤醒申

文档评论(0)

1亿VIP精品文档

相关文档