Track 11 of 12 · Reason about overlapping work
Concurrency & Reliability
Understand how independently progressing tasks interact through shared resources, and how systems remain correct when timing, duplication, delay, and failure are unavoidable.
Ten concepts, in learning order
Each lesson assumes the ideas above it and prepares you for the ones below.
- 01Concurrency vs parallelismConcurrency is the composition of tasks whose lifetimes overlap and may interleave; parallelism is the simultaneous execution of work on multiple processing resources.
- 02Thread vs processA process is an operating-system resource and protection context with an address space; threads are execution flows within a process that typically share that address space and many process resources.
- 03Race conditionA race condition exists when a system's correctness depends on the relative timing or ordering of events that are not adequately coordinated.
- 04AtomicityAtomicity names related but distinct guarantees: a concurrent atomic operation is indivisible under its memory model, while database atomicity means a transaction commits all its writes or none of them.
- 05MutexA mutex is an ownership-based synchronization primitive that permits at most one execution context at a time to hold it and enter the protected critical section.
- 06SemaphoreA semaphore maintains a count: acquire waits until it can decrement the count, and release increments it. Starting at N bounds outstanding acquisitions to N only when the protocol pairs each successful acquire with exactly one release.
- 07DeadlockDeadlock is a state in which a set of participants wait indefinitely for resources or events that only another participant in the same waiting set can provide.
- 08Async execution and the event loopAsynchronous execution lets a task suspend while awaiting an external completion; an event loop selects ready tasks or callbacks and runs them according to the runtime's queueing rules.
- 09IdempotencyAn operation is idempotent when making the same intended request multiple times has the same intended effect on server state as making it once, even though individual responses may differ.
- 10Retries, exponential backoff, and jitterA retry policy repeats eligible failed operations within a bounded budget; exponential backoff increases delay between attempts, and jitter randomizes delays so many clients do not retry in lockstep.
Continue the curriculum
Next: Data, APIs & Delivery
Connect storage guarantees, API boundaries, version-control history, and automated integration. Learn what each layer promises and where correctness still belongs to the application.
Open track 12