moodycamel :: ConcurrentQueue
C ++的工业级无锁队列。
注意:如果您需要的只是一个单一生产者,单一消费者队列,那么我也可以选择。
特征
击倒你的。
单头实现。 只需将其放入您的项目中即可。
完全线程安全的无锁队列。 从任何数量的线程同时使用。
C ++ 11实现-尽可能移动(而不是复制)元素。
通过模板化,无需专门处理指针-可以为您管理内存。
对元素类型或最大数量没有人为限制。
内存可以预先分配一次,也可以根据需要动态分配。
完全可移植(无需汇编;所有操作均通过标准C ++ 11原语完成)。
支持超快速批量操作。
包括开销低的阻塞版本(BlockingConcurrentQueue)。
异常安全。
使用理由
对于C ++,没有那么多成熟的无锁队列。 Boost有一个,但仅限于具有琐碎的赋值运算符和琐碎的析构函数的对象。 英特尔的TBB
2021-04-05 21:13:43
2.65MB
C++
1