简单的“生产者-消费者”问题 请用C语言编写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的“生产者-消费者”问题 请用C语言编写相关的知识,希望对你有一定的参考价值。
若有一个生产者和一个消费者,他们共享10个缓冲区。生产者不断地生产物品,并依次放入缓冲区中。消费者依次从缓冲区里取出物品进行消费。只有在缓冲区有空位时,生产者生产出来的物品才能往里存放;只有在缓冲区有物品时,消费者才能从里面取出物品消费。试用 P、V 操作来协调生产者和消费者间的工作。
参考技术A int mutex=1 ,Vm=10 , vn=0;int in=0;int out=0; while (1)/*生产者进程*/ 生产下一个产品 P(M) P(mutex) buffer[in]=product in=(in+1) %10 V(mutex) V(N) while(1) //消费者进程 P(N); p(mutex); goods=buffer[out]; out=(out+1)%10; V(mutex); V(M);以上是关于简单的“生产者-消费者”问题 请用C语言编写的主要内容,如果未能解决你的问题,请参考以下文章