-
Home
Home
I like all things low-level, high-performance, and user-experience.
Feel free to send me an email at
cameron@moodycamel.com.
I'm also on GitHub.
©2011-2020 Cameron Desrochers
-
About
About
About this site
"Moody Camel" is ostensibly a colour. It certainly sounds like
something you might find printed on a paint can. In any case,
I thought it was fun, and so I snatched it up! (There...
-
Detailed Design of a Lock-Free Queue
Posted November 06, 2014
This post outlines, in quite some detail, my design for an efficient lock-free queue that supports
multiple concurrent producers and consumers (an MPMC queue). My C++11 implem...
-
A Fast Lock-Free Queue for C++
Update Nov 6, 2014:
I've also just written a multi-producer multi-consumer lock-free queue.
Sharing data between threads in annoying. Really annoying.
If you do it wrong, the data is likely to be...
-
A Fast General Purpose Lock-Free Queue for C++
Posted November 06, 2014
So I've been bitten by the lock-free bug! After finishing my single-producer, single-consumer
lock-free queue, I decided to design and implement a more general multi-producer,...
-
Solving the ABA Problem for Lock-Free Free Lists
Posted February 23, 2014
When writing a lock-free data structure in a language that doesn't have garbage collection (like C++),
you need to manage the memory yourself. Often (even in managed languages...