Concurrency (Language Internals)¶
The language-level substrate that makes concurrent code possible — threading models, primitives, async runtimes, and the pathologies that come with them. Specific language tracks (Go goroutines, Java threads, Python asyncio, etc.) build on this foundation in languages/.
Content under this section is being filled in. Sub-sections already laid out are listed below; deeper pages will fill in as the Roadmap grows.
Sub-sections¶
- 01 — Models — preemptive vs cooperative, OS threads vs green threads / fibers / goroutines, actor model, CSP.
- 02 — Primitives — mutex, RWMutex, semaphores, barriers, atomics, channels, condition variables.
- 03 — Patterns — fan-in / fan-out, pipelines, worker pools, bounded concurrency, structured concurrency.
- 04 — Async / Await — coroutines, event loop, futures vs promises vs tasks, cancellation, back-pressure.
- 05 — Race Conditions — data races vs race conditions, the memory model, happens-before, race detectors.
- 06 — Deadlock Detection — lock ordering, cycle detection, timeouts, lock-free alternatives.
Related¶
- Memory Management — the model under which concurrent reads/writes interleave.
- Languages › Go › Concurrency — the most fleshed-out concrete track today.
- Quality Engineering › Performance — contention, scheduling, scaling limits.