Async Runtimes¶
asyncsyntax describes suspendable work; a runtime supplies the scheduler, timers, I/O polling, task queues, and blocking-work escape hatches that run it.
flowchart LR
J[Junior: runtime responsibilities] --> M[Middle: reactor and scheduler]
M --> S[Senior: selection and tuning] --> P[Professional: internals and operations]
flowchart LR
T[Ready tasks] --> S[Scheduler]
S --> W[Worker threads]
IO[epoll / kqueue / IOCP] --> S
TM[Timer wheel or heap] --> S
B[Blocking pool] --> S
Choose a level¶
| Level | Guide | You are done when |
|---|---|---|
| Junior | What the runtime does | You can separate language syntax from runtime services. |
| Middle | Reactor and scheduler | You can trace an I/O-bound task through polling, suspension, and wake-up. |
| Senior | Selection and tuning | You can choose runtime settings from workload and failure evidence. |
| Professional | Runtime internals | You can compare Tokio, libuv, asyncio, and .NET operationally. |
Practice rule¶
Do not tune worker counts until you know whether time is spent on event-loop work, blocking-pool work, CPU work, or downstream waiting.