midConcurrency
What is Optimistic vs Pessimistic Locking?
Updated Apr 28, 2026
Short answer
Pessimistic locking assumes conflict and locks early. Optimistic locking assumes no conflict, proceeds, and checks for changes before committing (e.g., CAS).
Deep explanation
Mid-level concurrency focuses on coordination patterns. The goal is to move beyond simple 'locks' and use high-level abstractions provided by the language or framework (like Thread Pools) to ensure scalability.
Real-world example
A database connection pool limiting the number of simultaneous connections to 20.
Common mistakes
- Using a heavy Mutex for a scenario where 99% of operations are Reads.
Follow-up questions
- What is the 'Condition' variable in a lock?