Alle Optionen
bullseye  ] [  bookworm  ] [  trixie  ] [  forky  ] [  sid  ]
[ Quellcode: libatomic-queue  ]

Paket: libatomic-queue-dev (1.7.1-1)

Links für libatomic-queue-dev

Screenshot

Debian-Ressourcen:

Quellcode-Paket libatomic-queue herunterladen:

Betreuer:

Externe Ressourcen:

Ähnliche Pakete:

devel files for C++ atomic_queue library

C++11 multiple-producer-multiple-consumer lockless queues based on circular buffer with std::atomic. The main design principle these queues follow is simplicity: the bare minimum of atomic operations, fixed size buffer, value semantics.

The circular buffer side-steps the memory reclamation problem inherent in linked-list based queues for the price of fixed buffer size. See Effective memory reclamation for lock-free data structures in C++ for more details.

These qualities are also limitations:

 * The maximum queue size must be set at compile time or construction time.
 * There are no OS-blocking push/pop functions.

Nevertheless, ultra-low-latency applications need just that and nothing more. The simplicity pays off, see the throughput and latency benchmarks.

Available containers are:

 * AtomicQueue - a fixed size ring-buffer for atomic elements.
 * OptimistAtomicQueue - a faster fixed size ring-buffer for atomic
   elements which busy-waits when empty or full.
 * AtomicQueue2 - a fixed size ring-buffer for non-atomic elements.
 * OptimistAtomicQueue2 - a faster fixed size ring-buffer for non-atomic
   elements which busy-waits when empty or full.

These containers have corresponding AtomicQueueB, OptimistAtomicQueueB, AtomicQueueB2, OptimistAtomicQueueB2 versions where the buffer size is specified as an argument to the constructor.

Markierungen: Software-Entwicklung: Bibliotheken, Rolle: Entwicklungs-Bibliothek

libatomic-queue-dev herunterladen

Download für alle verfügbaren Architekturen
Architektur Paketgröße Größe (installiert) Dateien
amd64 11,3 kB59,0 kB [Liste der Dateien]