Collection of public domain queue's by KjellKod All queues are in-process, thread-to-thread queues.
This lock-free queue is safe to use between one producer thread and one consumer thread. SPSC lock-free options:
fixed_circular_fifo
: Set the size of the queue in your code, the size is set during compiled time.circular_fifo
: Set the size of the queue in the constructor.
The SPSC is a powerful building block from which you can create more lock-free complicated queue structures if number of producers and consumers are known at creation time.
Please see spsc documentation for details.
Please see benchmark documentation for details.
- MPMC: multiple producer, multiple consumer
dynamically sized, mutex-lock-queue
: runtime, at construction, set max size of queue or set to unlimited in size
- MPSC: multiple producer, singe consumer
lock-free circular fifo
: Using fair scheduling the many SPSC queues are consumed in an optimized round-robin manner
- SPMC: single producer, multiple consumer
lock-free circular fifo
: Using fair scheduling the producer transfers over many SPSC queues