readerwriterqueue:用于C ++的快速单生产者,单消费者无锁队列

时间:2024-06-01 06:51:11
【文件属性】:

文件名称:readerwriterqueue:用于C ++的快速单生产者,单消费者无锁队列

文件大小:68KB

文件格式:ZIP

更新时间:2024-06-01 06:51:11

C++

适用于C ++的单一生产者,单一消费者的无锁队列 这个小型存储库具有我自己的C ++无锁队列(我从头开始设计)的实现。 它仅支持两线程用例(一个消费,一个生产)。 线程无法切换角色,尽管您可以根据需要在单个线程中完全使用此队列(但这会破坏目的!)。 注意:如果您需要通用的多生产者,多消费者的无锁队列,我也可以选择。 该存储库还包括,该支持排队入队和出队。 特征 与C ++ 11兼容(支持移动对象而不是进行复制) 完全通用的(任何类型的模板容器)-就像std::queue ,您不需要自己为元素分配内存(这省去了编写无锁内存管理器来保存要排队的元素的麻烦) 在连续的块中预先分配内存 提供一个try_enqueue方法,该方法保证永远不会分配内存(队列以初始容量开始) 还提供了一种enqueue方法,该方法可以根据需要动态增加队列的大小 还提供try_emplace / emplac


【文件预览】:
readerwriterqueue-master
----readerwriterqueue.h(32KB)
----.gitignore(504B)
----LICENSE.md(2KB)
----README.md(5KB)
----tests()
--------unittests()
--------stabtest()
--------common()
----readerwritercircularbuffer.h(11KB)
----atomicops.h(20KB)
----benchmarks()
--------systemtime.h(763B)
--------ext()
--------systemtime.cpp(3KB)
--------bench.cpp(16KB)
--------msvc14()
--------msvc12()
--------msvc10()
--------makefile(712B)
----CMakeLists.txt(379B)

网友评论