Rust 语言学习手册

免费学习 系统级编程 内存安全

Rust学习手册《async/.await 基础》:Rust 的异步编程使用 `async` 和 `.await`,基于 `Future` trait。 **异步函数:** ```rust async fn say_hello() { println!("hello"); } ``...

异步编程

async/.await 基础

【详细说明 & 代码示例】
Rust 的异步编程使用 `async` 和 `.await`,基于 `Future` trait。 **异步函数:** ```rust async fn say_hello() { println!("hello"); } ``` 调用 async 函数返回 `Future`,需要运行时(如 `tokio`)来执行。 **使用 tokio 运行时:** ```rust #[tokio::main] async fn main() { say_hello().await; } ``` **异步等待:** ```rust use tokio::time::{sleep, Duration}; async fn do_something() { sleep(Duration::from_secs(1)).await; println!("done"); } ``` **并发执行:** 使用 `tokio::join!` 或 `futures::join_all`。 ```rust let (res1, res2) = tokio::join!(async_task1(), async_task2()); ``` **流(Stream):** 类似异步的迭代器,使用 `async-stream` 或 `tokio_stream`。 **注意事项:** - 异步函数中不能使用 `std::thread::sleep`,应使用 `tokio::time::sleep`。 - 避免在异步代码中调用阻塞函数。 **常用运行时:** `tokio`(最流行),`async-std`。

学习提示:建议安装 Rust 工具链(rustup),使用 cargo 构建项目,并熟悉 rustc 编译器错误信息(Rust 的报错非常详细友好)。

全部章节目录(共 63 个知识点)

Rust 基础 (1个知识点)

所有权系统 (1个知识点)

借用与引用 (1个知识点)

生命周期 (1个知识点)

Cargo 与工具链 (2个知识点)

使用说明

  • • 本手册涵盖 Rust 从基础到并发、异步、Web 开发的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议通过 Rust 官方文档(doc.rust-lang.org)加深理解