# Low Level Design
All Low Level Design notes →1 — Thread Safety
Defines what it means for a class or method to be thread-safe and the correctness guarantees a design must uphold under concurrent access.
2 — Synchronization
Covers synchronization mechanisms that coordinate access to shared mutable state across multiple threads.
3 — Locks
Examines lock types — mutexes, read-write locks, reentrant locks — and the tradeoffs each makes between safety and throughput.
4 — Concurrent Collections
Surveys concurrent collection types designed for safe multi-threaded access without requiring external locking by the caller.
5 — Producer Consumer
Walks through the producer-consumer pattern for decoupling work generation from work processing via a shared bounded queue.
6 — Thread Pools
Explains thread pool design for bounding concurrency and reusing worker threads instead of spawning a new thread per task.
7 — Deadlocks
Analyzes how deadlocks arise from circular resource dependencies among threads and the design practices that prevent them.
8 — Race Conditions
Examines how race conditions emerge from unsynchronized access to shared mutable state and how a design can eliminate them.
9 — Lock-Free Design
Introduces lock-free and wait-free design techniques that use atomic operations instead of locks to coordinate concurrent access.