tqueue.h
来自「用socket++,zthread,occi开发的连数据库处理业务的网络中间件服」· C头文件 代码 · 共 32 行
H
32 行
//: C11:TQueue.h#ifndef TQUEUE_H#define TQUEUE_H#include <deque>#include "zthread/Thread.h"#include "zthread/Condition.h"#include "zthread/Mutex.h"#include "zthread/Guard.h" template<class T> class TQueue { ZThread::Mutex lock; ZThread::Condition cond; std::deque<T> data;public: TQueue() : cond(lock) {} void put(T item) { ZThread::Guard<ZThread::Mutex> g(lock); data.push_back(item); cond.signal(); } T get() { ZThread::Guard<ZThread::Mutex> g(lock); while(data.empty()) cond.wait(); T returnVal = data.front(); data.pop_front(); return returnVal; }};#endif // TQUEUE_H ///:~
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?