A single process. Linear. Sequential. Alone.
One becomes many. Processes diverge, each pursuing its own path.
Threads interlace. Shared resources demand coordination — the loom of concurrency.
Mutual exclusion. Only one thread may pass at a time.
mutex.lock(); // critical section
Circular waiting. Each thread holds what another needs. Nothing moves.
Harmony restored. Threads converge, synchronized, efficient — the engine hums.
Concurrency, woven beautifully.