Threads, Mutexes, and Atomics: Start With What Can Go Wrong
kept by sundarpatel
Understanding data races, mutex implementation on Linux, and atomic pitfalls (ABA, false sharing) shows that replacing mutexes with atomics is not automatically an optimization.