/************************************************************************* > File Name: CMessageQueue.h > Author: SongTL > Mail: songtianlun@comleader.com.cn > Created Time: 2020年07月21日 星期二 16时46分37秒 ************************************************************************/ #ifndef CMESSAGEQUEUE_H #define CMESSAGEQUEUE_H template class ConcurrentQueue { ConcurrentQueue& operator = (const ConcurrentQueue&) = delete; ConcurrentQueue(const ConcurrentQueue& other) = delete; public: ConcurrentQueue() : _queue(), _mutex(), _condition() {} virtual ~ConcurrentQueue() {} void Push(Type record) { std::lock_guard lock(_mutex); _queue.push(record); _condition.notify_one(); } } #endif