You’re staring at perf top showing 60% CPU time in pthread_mutex_lock. Your latency is in the toilet. Someone suggests “just use a spinlock” and suddenly your 16-core server is pegged at 100% doing nothing useful. This is the synchronization primitive trap, and most engineers step right into it because nobody explains when each primitive actually makes sense.