- Published on
Rust의 async/await은 "무한한 동시성을 런타임 없이" 약속하지만, 그 내부는 복잡합니다. 이 글은 Tokio 런타임을 처음부터 해부합니다. async fn이 어떻게 State Machine으로 컴파일되는지, Future/Poll/Waker 프로토콜, Pin과 자체 참조 구조체의 안전성, Tokio 스케줄러의 Work-Stealing과 LIFO slot, 블로킹 작업 처리(spawn_blocking), Function Coloring 문제와 대안, 그리고 실무에서 성능 병목을 찾는 방법까지 — Rust 비동기 프로그래밍을 제대로 이해하고 싶은 엔지니어를 위한 종합 가이드입니다.