Skip to content
Sections
>> Trisquel >> Pakketten >> aramo >> libdevel >> libreaderwriterqueue-dev
aramo  ]
[ Bron: readerwriterqueue  ]

Pakket: libreaderwriterqueue-dev (1.0.5-1)

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)

libreaderwriterqueue-dev downloaden

Pakket downloaden voor alle beschikbare platforms
Platform Pakketgrootte Geïnstalleerde grootte Bestanden
all 17,5 kB139 kB [overzicht]