生产者消费者算法的实现

您所在的位置:网站首页 生产者消费者问题算法流程图解视频教程全集 生产者消费者算法的实现

生产者消费者算法的实现

2024-06-30 23:56| 来源: 网络整理| 查看: 265

生产者消费者算法是经典的进程同步算法,下面就是运用C++模拟实现生产者消费者算法,能实现对缓冲池的互斥访问和生产者进程与消费者进程之间的同步。

实现思路:用C++写一个生产者和消费者类,在里面有一个构造函数,初始化指向产品的指针,产品数和互斥信号量mutex(互斥访问count),接下来就写了生产者和消费者算法,这里要注意的是:缓冲区满时不能生产,缓冲区空时不能消费,这里我都在运行中有提示。主函数中就是循环调用生产者消费者,然后每次调用后输出缓冲区的产品状态和数量。

源代码:

#include #include #include #define N 100 //产品数量 using namespace std; /*生产者消费者类*/ class PandC{ private: int in,out;//指向有产品的下标 int count;//缓冲区的产品数 int buffer[N];//缓冲区 int mutex;//互斥信号量 int empty,full;//判断缓冲区是否为空或者满 public: /*初始化,构造生产者消费者*/ PandC(){ in=0;out=0;count=0; empty=N;full=0;mutex=1; for(int i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3