Features
* Knock-your-socks-off blazing fast performance.
* Single-header implementation. Just drop it in your project.
* Fully thread-safe lock-free queue. Use concurrently from any number
of threads.
* C++11 implementation -- elements are moved (instead of copied)
where possible.
* Templated, obviating the need to deal exclusively with pointers --
memory is managed for you.
* No artificial limitations on element types or maximum count.
Memory can be allocated once up-front, or dynamically as needed.
* Fully portable (no assembly; all is done through standard C++11
primitives).
* Supports super-fast bulk operations.
* Includes a low-overhead blocking version (BlockingConcurrentQueue).
* Exception safe.
.
Reasons to use
.
There are not that many full-fledged lock-free queues for C++. Boost has
one, but it's limited to objects with trivial assignment operators and
trivial destructors, for example. Intel's TBB queue isn't lock-free,
and requires trivial constructors too. There're many academic papers
that implement lock-free queues in C++, but usable source code is hard
to find, and tests even more so.
.
This queue not only has less limitations than others (for the most part),
but it's also faster. It's been fairly well-tested, and offers advanced
features like bulk enqueueing/dequeueing (which, with the new design, is
much faster than one element at a time, approaching and even surpassing
the speed of a non-concurrent queue even under heavy contention).
Installed Size: 208.9 kB
Architectures: all