📄 tqueue.h
字号:
//: 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -