核心答案是:遇到阻塞的 Future 确实需要线程来执行,但关键点在于它“让出”了它当前正在使用的那个线程的执行权,而不是一直“霸占”着线程直到阻塞结束。
Rust 异步运行时(Async Runtime)是一个在 Rust 程序主逻辑(main 函数)开始执行之前和之后,负责为其提供关键执行环境的代码库和一组服务。
它的核心任务是管理异步任务(如 async/.await)所需的复杂调度、上下文切换和事件驱动I/O。
Rust 也为系统编程世界带来了现代化的开发工具:
- Cargo 是内置的依赖管理器和构建工具,它能轻松增加、编译和管理依赖,并使依赖在 Rust 生态系统中保持一致。
- Rustfmt 格式化工具确保开发者遵循一致的代码风格
- rust-analyzer 为集成开发环境(IDE)提供了强大的代码补全和内联错误信息功能
- 不设置镜像加速rustup话,更新升级会非常慢!
- 使用 RsProxy.cn 的加速服务可以解决因网络原因导致的下载慢的问题!

| 序号 | 新闻 | 时间 |
|---|---|---|
| 1 | Rust 1.0 正式版发布,Mozilla 编程语言 (即2015版本) —— 2015/05/15 | 2015/05/15 |
| 2 | Rust 1.31 发布,带来 Rust 2018 | 2018/12/08 |
| 3 | 苹果拥抱 Rust,正在将 C 代码移植到 Rust | 2020/03/23 |
| 4 | Rust 基金会成立,创始成员包括华为、Microsoft、Google、AWS 和 Mozilla | 2021/02/09 |
| 5 | Facebook 加入 Rust 基金会 | 2021/04/30 |
| 6 | Rust 1.56.0发布,带来Rust 2021 【新特性介绍】 | 2021/10/21 |
在项目根目录下,执行如下命令行即可
# 再修改代码时会自动编译 cargo watch -x run
用前端的视角类比一下:
- rustc:是node —— rust编译器
- rustup:是nvm —— 管理多个版本的rust
- cargo:是npm —— 包管理器
Jetbrains 多年来一直以插件的形式在 IntelliJ IDEA 和 CLion 中支持 Rust 功能,随着用户的强烈呼吁,Jetbrains 将推出独立其 Rust IDE ,并号称新 IDE 的功能要与现有 JetBrains IDE 相当。
在 Rust 编程中,错误处理是一个核心概念,尤其是当涉及到 Result 和 Option 类型时。这两种类型是 Rust 的错误处理和可选值的基石。Rust 提供了多种方法来处理这些类型,其中 .expect() 和 .unwrap() 是最常见的。虽然它们在功能上相似,但在实际使用中,expect 往往比 unwrap 更受推荐。本文将深入探讨 expect 的用法,并与 unwrap 进行比较。