??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????????????????????????????????????????棬?????????????????????????????е???????У????????????????е?????????????????????ζ??к?lock-free????????У???????????????????????????塢????????????????????????У?????????ο??????java??blockingqueue?????????????????м?????????????????????У?????????????????????????????????????????С????????????Щbuff??????????????????????????

????????????????????????????????????????????

????1??????????????????????????????????????????????????????????????????д?????????????????????????????????

????2??????????????IO????????????IO??????????????д???£????????????????????????????????????IO?????????IO??????????????????????

????3????????????????2 ???????????????????????????

?????????????

????BlockingQueue.h???

/*
 * BlockingQueue.h
 *
 *  Created on: Apr 19?? 2013
 *      Author: archy_yu
 */
 
#ifndef BLOCKINGQUEUE_H_
#define BLOCKINGQUEUE_H_
 
#include <queue>
#include <pthread.h>
 
typedef void* CommonItem;
 
class BlockingQueue
{
public:
    BlockingQueue();
 
    virtual ~BlockingQueue();
 
    int peek(CommonItem &item);
 
    int append(CommonItem item);
 
private:
 
    pthread_mutex_t _mutex;
 
    pthread_cond_t _cond;
 
    std::queue<CommonItem> _read_queue;
 
    std::queue<CommonItem> _write_queue;
 
};
 
 
#endif /* BLOCKINGQUEUE_H_ */