There is a point in systems programming where concurrency stops being about “running things at the same time” and starts becoming a conversation about guarantees.
Most programmers first learn concurrency through locks.
You have shared data.
You protect it with a mutex.
One thread enters.






