Lock free FIFO with multiple consumers / readers

Are there any examples of lock free FIFO’s with a single provider and multiple consumers or readers. I know Timur has done plenty of demos on single writer single reader which break it down nicely. ATM I have the same pattern with a single mutex on my queue pop which a pool of threads tries to access. I also have a system for notifying an available thread which in practice works very well and I don’t get any contention on that lock but I realize this is still technically unbounded even if it works well.

https://www.boost.org/doc/libs/1_72_0/doc/html/boost/lockfree/queue.html

1 Like

https://github.com/cameron314/concurrentqueue (much faster than the boost one)
It’s multi-producer, multi-consumer.

3 Likes