The Dark Side of Concurrency
With interleaved executions, the order in which processes execute at runtime is nondeterministic.
depends on the exact order and timing of process arrivals
depends on exact timing of asynchronous devices (disk, clock)
depends on scheduling policies
Some schedule interleavings may lead to incorrect behavior.
Open the bay doors before you release the bomb.
Two people can’t wash dishes in the same sink at the same time.
The system must provide a way to coordinate concurrent activities to avoid incorrect interleavings.