Skip to content

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.