Tokio

Rust 异步取消安全(Cancellation Safety)深度实战:从Future的Drop到生产陷阱

深入解析Rust异步编程中的取消安全(Cancellation Safety)问题:从Future的Drop语义出发,系统讲解tasks、数据库连接、TCP流、文件I/O等场景下的取消安全保证与陷阱,提供生产级最佳实践与模式。涵盖Tokio的Cancelled trait、tokio_util的CancelGuard/CancellationToken、以及自定义Future的取消安全实现。

深入剖析 Rust 异步运行时——从 Future 状态机到 tokio 调度器的零成本抽象实战

Rust async/async 被誉为零成本抽象的巅峰之作,但零成本并不意味着零理解成本。本文从编译器生成的状态机入手,深入 tokio 运行时的每一个关键子系统,揭示异步 Rust 在底层究竟是如何运转的:包括 Future trait 的 Pin/Waker 机制、work-stealing 调度、Hierarchical Timing Wheel、LIFO slot 优化,并包含手写 mini executor 的实战教程。