The Bug That Changes Every Time You Run It
When two threads touch the same data at once, the result depends on who wins the race — and the answer changes run to run. This lost-update bug is the root of most concurrency pain; once you can see it happen step by step, everything else in the course is a response to it.
- Read-modify-write and the lost update
- Why the bug is non-deterministic
- What "shared mutable state" really costs