How Can Multiple Threads Modify the Same Data Without Locks? The Science of Lock-Free Programming and the ABA Problem
Why Everything Stops When Everyone Waits: The Mathematical Theory of Deadlocks, Resource Allocation Graphs, Dijkstra's Banker's Algorithm, and Livelock
Why Code Does Not Run in the Order You Wrote It: A Deep Dive into Hardware and Language Memory Models
The Physics of CPU Caches and the MESI Protocol: The Abyss of Coherence and Memory Barriers in Multi-Core