All lessons
systems
2 lessons tagged systems: free, quiz-checked micro-lessons.
Programming
advancedThreads and Shared State
Threads look deceptively simple — create a few, share some memory, done. In practice, shared mutable state is a minefield: race conditions, non-deterministic output, and bugs that vanish under a debugger. This lesson dissects concurrency vs parallelism, why `count++` is three operations the CPU can interleave, Amdahl's law, and what a critical section actually means.
9 steps·~14 min
Programming
advancedLocks and Synchronization
Mutexes, condition variables, semaphores, and reader-writer locks — the primitives that make concurrent code correct. Understand the four Coffman deadlock conditions, how lock ordering prevents them, and why contention turns a performance win into a bottleneck.
9 steps·~14 min
