Why it matters
Wrong synchronization causes races, deadlocks, or serialized bottlenecks. Understanding primitives makes concurrent code correct and performant.
Advertisement
The architecture
Lock (mutex): exclusive access. One thread at a time inside critical section.
Semaphore: N-thread access. Bounded concurrency.
Condition variable: wait for a condition; signaled by another thread.
Advertisement
How it works end to end
Read-write lock: multiple readers, one writer. Better for read-heavy.
Barrier: wait until N threads reach point, then all proceed.
Reentrant lock: same thread can acquire multiple times; unlock N times to release.