分布式选修课上讲了多线程编程,布置了一个生产者消费者的作业,觉得挺有意思,并且网络上的消费者问题多使用c语言编写,故在此记录c++解决方法
由于是消费者线程各自计数,故使用一个全局数组变量存储各线程的结果,最后在主函数求和,主要结构及解释如下
完整代码如下
#include<iostream>
#include<pthread.h>
using namespace std;
int ans[100];
pthread_mutex_t count_mutex;
pthread_cond_t condc;
pthread_cond_t condp;
int store[11]; //定义缓冲区,store[0]代表空&#x