Software → Programming
Synchronization
Coordination between concurrent tasks to control ordering, shared state, or access to resources.
Motivation
Synchronization solves the problem of coordinating concurrent work safely.
Where it fits
Synchronization belongs to concurrent programming and operating systems.
Mental model
When multiple tasks access shared state, synchronization defines who may proceed and when.
Common mistakes
- Locking too broadly and destroying performance.
- Not locking at all and creating data races.
Related concepts
Synchronization connects to mutex, semaphore, critical section, race condition, and deadlock.