pthread-生产者消费者问题【采用互斥量和条件变量】

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

class Buff
{
public:
    pthread_mutex_t buff_mutex;       //访问buff的互斥量
    pthread_cond_t buff_not_full_cond;          //是否满的条件变量----在满的情况下,消费者消耗之后,采用此条件变量通知生产者
    pthread_cond_t buff_not_empty_cond;          //是否空的条件变量---在空的情况下,生产者生产之后,采用此条件变量通知消费者
    vector vec;
    int size;
    int pos;
public:
    Buff()
    {
        buff_mutex=PTHREAD_MUTEX_INITIALIZER;                   //初始化
        buff_not_full_cond=PTHREAD_COND_INITIALIZER;           //初始化
        buff_not_empty_cond=PTHREAD_COND_INITIALIZER;             //初始化
        size=10;                                                //存储10个为满
        pos=0;                                                 //当前存储内容个数
        cout<<"construction!"<


你可能感兴趣的:(pthread,signal,null,include,存储,string,linux)