Std::atomic lock-freedom

Mintomic is a very small part in all the blog posts (anyway it is not used anymore).
The C++11 atomics are largely covered.
It is for me the best resource for beginners (easier at start that the Anthony Williams book for instance).
My opinion is probably biased since i learned all (at first) with that blog! :heart_eyes:

From oldest to newest:

< Locks Aren't Slow; Lock Contention Is >
< Always Use a Lightweight Mutex >
< Roll Your Own Lightweight Mutex >
< Implementing a Recursive Mutex >
< Memory Reordering Caught in the Act >
< An Introduction to Lock-Free Programming >
< Memory Ordering at Compile Time >
< Memory Barriers Are Like Source Control Operations >
< Acquire and Release Semantics >
< Weak vs. Strong Memory Models >
< This Is Why They Call It a Weakly-Ordered CPU >
< Introducing Mintomic: A Small, Portable Lock-Free API >
< Atomic vs. Non-Atomic Operations >
< The Happens-Before Relation >
< The Synchronizes-With Relation >
< Acquire and Release Fences >
< Double-Checked Locking is Fixed In C++11 >
< Acquire and Release Fences Don't Work the Way You'd Expect >
< The Purpose of memory_order_consume in C++11 >
< Fixing GCC's Implementation of memory_order_consume >
< Semaphores are Surprisingly Versatile >
< You Can Do Any Kind of Atomic Read-Modify-Write Operation >
< Can Reordering of Release/Acquire Operations Introduce Deadlock? >

1 Like