简单的“生产者-消费者”问题 请用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语言编写的主要内容,如果未能解决你的问题,请参考以下文章

用c语言或c++编写编程实现生产者消费者或读写者的同步问题

C语言之简单使用互斥锁条件锁实现生产者消费者模型操作

请问如何用C语言实现“生产者与消费者问题”?(最好附上完整的C语言源代码)

用C语言实现PV操作生产者消费者关系

如何使用互斥锁在 C 中执行生产者-消费者程序

C语言实现生产者消费者进程同步问题?