Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 584 Bytes

README.md

File metadata and controls

32 lines (24 loc) · 584 Bytes

Implement lock-free SPSC (Single Producer Single Consumer) Queue.

For more implemented details explanation, refer to https://www.cnblogs.com/sinkinben/p/17949761/spsc-queue

Usage

Define a spsc_queue:

#include "spsc_queue.hpp"
spsc_queue<int> sq;

In consumer thread:

int data = -1;
while (!sq.dequeue(data))
    ;
std::cout << data << '\n';

In producer thread:

int data = 233;
while (!sq.enqueue(data))
    ;
// now 'data' has been sent to consumer

Tests And Example

See benchmark.cpp, and just type make all to compile and run it