Skip to content

Lock free spsc-queue (single producer and single consumer).

Notifications You must be signed in to change notification settings

sinkinben/spsc-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Lock free spsc-queue (single producer and single consumer).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published