[ 源代码: readerwriterqueue ]
软件包:libreaderwriterqueue-dev(1.0.6-1)
libreaderwriterqueue-dev 的相关链接
Debian 的资源:
下载源码包 readerwriterqueue:
- [readerwriterqueue_1.0.6-1.dsc]
- [readerwriterqueue_1.0.6.orig.tar.gz]
- [readerwriterqueue_1.0.6-1.debian.tar.xz]
维护小组:
外部的资源:
- 主页 [github.com]
相似软件包:
single-producer, single-consumer lock-free queue for C++
This package provides a lock-free queue for C++. It only supports a two-thread use case (one consuming, and one producing). The threads can't switch roles, though you could use this queue completely from a single thread if you wish (but that would sort of defeat the purpose!).
Features:
* Blazing fast * Compatible with C++11 (supports moving objects instead of making copies) * Fully generic (templated container of any type) -- just like std::queue, you never need to allocate memory for elements yourself (which saves you the hassle of writing a lock-free memory manager to hold the elements you're queueing) * Allocates memory up front, in contiguous blocks * Provides a try_enqueue method which is guaranteed never to allocate memory (the queue starts with an initial capacity) * Also provides an enqueue method which can dynamically grow the size of the queue as needed * Also provides try_emplace/emplace convenience methods * Has a blocking version with wait_dequeue * Completely "wait-free" (no compare-and-swap loop). Enqueue and dequeue are always O(1) (not counting memory allocation) * On x86, the memory barriers compile down to no-ops, meaning enqueue and dequeue are just a simple series of loads and stores (and branches)