在上一章《理解 Rust 异步编程:从 Send/Sync 到 Future、Waker、Poll》中,我们已经搞清楚了几件事:
async fn在编译期会被降级成一个Future状态机;- 这个状态机通过
poll一步步向前推进; Pin负责保证状态机在内存中的位置不被随意移动;Waker负责在 I/O、定时器等事件就绪时把任务“叫醒”。 但有了这些“零件”还不够,这些被编译出来的 Future 谁来不断 poll?谁来管理时间和 I/O?谁来调度成千上万的任务? 这一层,就是本篇要讲的主角:异步运行时(Asynchronous Runtime)。 在这一章,我们会围绕三个问题展开:
2025/12/4大约 42 分钟