Concurrency
A race condition occurs when two or more threads access shared data concurrently, and at least one of them modifies the data.
Alternatives include lock-free data structures, atomic operations, and higher-level abstractions like message passing.
Atomic operations are operations that are executed in a single, uninterruptible step.
- The Deadlock Empire – game that teaches locking and concurrency
- The Little Book of Semaphores by Allen B. Downey (2016)
- What every systems programmer should know about concurrency by Matt Kline (2020)
- Seven Concurrency Models in Seven Weeks: When Threads Unravel by Paul Butcher (2014)
- Learn C++ Multi Threading in 20 Minutes - YouTube
- Atomics And Concurrency | Zaid Humayun’s Blog
- Unix Threads in C - YouTube
- C++ Concurrency in Action, Second Edition