【发布时间】:2011-02-12 18:40:46
【问题描述】:
可能重复:
Is there a production ready lock-free queue or hash implementation in C++
我正在寻找一个经过良好测试、公开可用的 C/C++ 无锁队列实现。
我至少需要多生产者/单消费者功能。如果存在多个消费者,那就更好了。
我的目标是 VC 的 _Interlocked... 内在函数,但任何直接移植到端口的东西都可以。
谁能指点一下?
【问题讨论】:
-
TBB 库有一些无锁容器(虽然我不记得它是否带有队列):threadingbuildingblocks.org
-
TBB 有一个 concurrent_queue,尽管文档只声明它是线程安全的,而没有提到无锁。无论如何,TBB 的许可证是有问题的(GPL/商业)。
-
Qt 允许这样做,上次我检查过。不过,它还附带了一大堆其他东西(在 QMake 完成时实际上是一个完整的语言扩展)。