A collection of resources on wait-free and lock-free programming.
🔥 🔥 🔥 Even better resource from MattPD: C++ links: atomics, lock free, memory model.
Boost.Lockfree - Boost lock-free data structures.
ConcurrencyKit - Concurrency primitives.
crossbeam - Rust library for concurrent programming.
Folly - Facebook Open-source Library (has good implementation of MPMC queue).
Junction - Concurrent data structures in C++.
MPMCQueue - A bounded multi-producer multi-consumer lock-free queue written in C++11.
SPSCQueue - A bounded single-producer single-consumer wait-free and lock-free queue written in C++11.
Seqlock - Implementation of Seqlock in C++.
Userspace RCU - liburcu is a userspace RCU (read-copy-update) library.
libcds - A C++ library of Concurrent Data Structures.
liblfds - portable, license-free, lock-free data structure library written in C.
xenium - A C++ library providing various concurrent data structures and reclamation schemes.
- CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part I"
- CppCon 2014: Herb Sutter "Lock-Free Programming (or, Juggling Razor Blades), Part II"
- CppCon 2015: Fedor Pikus PART 1 “Live Lock-Free or Deadlock (Practical Lock-free Programming)"
- CppCon 2015: Fedor Pikus PART 2 "Live Lock-Free or Deadlock (Practical Lock-free Programming)"
- CppCon 2015: Michael Wong “C++11/14/17 atomics and memory model..."
- CppCon 2015: Paul E. McKenney “C++ Atomics..."
- CppCon 2014: Tony Van Eerd "Lock-free by Example"
- CppCon 2016: Fedor Pikus "The Speed of Concurrency: is lock-free faster?"
- CppCon 2016: Hans Boehm “Using weakly ordered C++ atomics correctly"
- CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”
- CppCon 2017: Fedor Pikus “Read, Copy, Update, then what? RCU for non-kernel programmers”
- CppCon 2017: P. McKenney, M. Michael & M. Wong “Is Parallel Programming still hard? PART 1 of 2”
- CppCon 2017: P. McKenney, M. Michael & M. Wong “Is Parallel Programming still hard? PART 2 of 2”
- CppCon 2018: “The Landscape and Exciting New Future of Safe Reclamation for High Performance”
- C++ and Beyond 2012: Herb Sutter - atomic<> Weapons, 1 of 2
- C++ and Beyond 2012: Herb Sutter - atomic<> Weapons, 2 of 2
- "Aeron: Open-source high-performance messaging" by Martin Thompson
- Adventures with Concurrent Programming in Java: A Quest for Predictable Latency - Martin Thompson
- Understanding the Disruptor, a Beginner's Guide to Hardcore Concurrency -Trisha Gee & Mike Barker
This list was compiled by Erik Rigtorp