Skip to content
Sections
>> Trisquel >> Пакеты >> aramo >> libdevel >> libconcurrentqueue-dev
aramo  ]
[ Источник: concurrentqueue  ]

Пакет: libconcurrentqueue-dev (1.0.3+ds-1)

industrial-strength lock-free queue for C++

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).

Загрузка libconcurrentqueue-dev

Загрузить для всех доступных архитектур
Архитектура Размер пакета В установленном виде Файлы
all 37,3 Кб204 Кб [список файлов]