这是我在生产中使用到的一个c++11 实现的无锁队列,有以下特性:
1、线程安全的无锁队列
2、支持c++11 的move语义,优化对象拷贝性能
3、模板化
4、可预分配内存、也可动态分配
5、支持批量处理
6、包含阻塞队列
7、异常安全
demo
将github里的文件 Blockingconcurrentqueue.h 跟 Concurrentqueue.h 加载到项目中
#include "Blockingconcurrentqueue.h"
//声明队列
moodycamel::BlockingConcurrentQueue<T> g_myQueue;
//工作函数监听队列消息
void concumer() {
while (!_bStop) {
T t;
g_myQueue.wait_dequeue(T