3-简介

简介

译文 · 基于 Asynchronous Programming in Rust

简介

原文链接: https://rust-lang.github.io/async-book/part-guide/intro.html

本书的这一部分是 async Rust 的教程式指南。面向 Rust 异步编程的新手。无论你是否在其他语言中做过异步编程,都应该会有帮助。如果你有经验,可以跳过或略读第一节。你可能还想尽早阅读这篇与其他语言 async 的对比。

核心概念

我们将首先讨论不同的并发编程模型,使用进程、线程或异步任务。第一章将涵盖 Rust async 模型的核心部分,然后我们在第二章深入 async 编程的细节,介绍 async 和 await 编程范式。我们在后续章节中涵盖更多 async 编程概念。

async 编程的主要动机之一是更高性能的 IO,我们在下一章中涵盖。我们还在同一章中详细讨论阻塞。阻塞是 async 编程中的主要隐患,线程被某个操作(通常是 IO)同步等待而阻塞,无法继续推进。

async 编程的另一个动机是它促进了并发代码的抽象与组合的新模型。涵盖该内容后,我们继续讨论并发任务之间的同步。

有一章关于 async 编程工具。

最后几章涵盖一些更专业的主题,从异步析构与清理开始(这是常见需求,但由于目前没有好的内置解决方案,属于较为专业的话题)。

指南中的接下来两章深入讲解 future 和运行时,这是 async 编程的两个基本构建块。

最后,我们涵盖定时器与信号处理和异步迭代器(即流)。后者是我们处理异步事件序列的方式(对比用 future 或异步函数表示的单个异步事件)。这是语言正在积极开发的领域,可能有些粗糙。


4-并发编程

并发编程

5-Async 与 await

Async 与 await

6-更多 async/await 主题

更多 async/await 主题

7-IO 与阻塞问题

IO 与阻塞问题

8-并发组合 Future

并发组合 Future

9-通道、锁与同步

通道、锁与同步

10-异步编程工具

异步编程工具

11-析构与清理

析构与清理

12-Future

Future

13-运行时

运行时

14-定时器与信号处理

定时器与信号处理

15-异步迭代器(Stream)

异步迭代器(Stream)

最后修改 August 23, 2026: 更新 (499855b16)