跳到主要内容

并发编程知识体系概览

为什么 Rust 的并发编程很重要?

Rust 的并发模型号称**"无畏并发"(Fearless Concurrency)**——通过所有权系统和类型系统在编译期消除数据竞争。与 C++ 的"祝你好运"和 Go 的"运行时检测"不同,Rust 让数据竞争成为编译错误。

核心知识点

线程与 Send/Sync

SendSync 这两个 marker trait 是 Rust 并发安全的基石,由编译器自动推导。

→ 详见 线程基础Send 与 Sync

共享状态并发

通过 MutexRwLockArc 和原子类型实现安全的共享状态访问。

→ 详见 Mutex 与 RwLockArc 与原子类型

消息传递并发

Go 语言的 "Don't communicate by sharing memory; share memory by communicating" 在 Rust 中同样适用。

→ 详见 Channel 消息传递

异步编程

Rust 的 async/await 是零成本抽象——异步代码编译后的性能与手写状态机等价。

→ 详见 async/await 基础Tokio 运行时Future trait 与 Pin

同步 vs 异步选择

场景推荐方案原因
CPU 密集型std::thread + Rayon真正的并行
IO 密集型async + Tokio高并发低开销
少量并发任务std::thread简单直接
数千并发连接async + Tokio线程太重

相关链接