基于信号量机制的生产者消费者循环队列设计
发布时间
阅读量:
阅读量
#include<cstdio>
#include<vector>
#include<pthread.h>
#include<semaphore.h>
#define MAX_QUEUE 5
class RingQueue{
public:
RingQueue(int maxq=MAX_QUEUE):_arry(maxq),_capacity(maxq),_write_step(0),_read_step(0){
sem_init(&_sem_lock,0,1);
sem_init(&_sem_idle,0,maxq);
sem_init(&_sem_data,0,0);
}
~RingQueue(){
sem_destroy(&_sem_data);
sem_destroy(&_sem_idle);
sem_destroy(&_sem_lock);
}
bool push(int data){
sem_wait(&_sem_idle);//判断有没有空闲空间
全部评论 (0)
还没有任何评论哟~
