这门课解决什么问题

Rust 的核心卖点之一是“无畏并发”,但真正写过的人都知道,编译器在并发场景下的所有权和生命周期检查极其严格。很多开发者卡在跨线程传递数据时的编译报错上,或者写出的代码看似能跑,实则存在隐蔽的数据竞争或死锁。这门课聚焦的就是这个痛点:怎样在 Rust 里真正写出安全且高效的并发代码。它不泛泛讲语法,而是把线程创建、线程池调度、异步运行时这些具体场景拆开,讲清楚什么时候该用多线程、什么时候该用异步,以及两者怎么配合。

适合什么基础,建议先看哪几块

这门课不适合零基础。你得已经掌握 Rust 的基本语法,理解所有权、借用、生命周期这些核心概念,否则并发部分的内容会很难跟上。如果你符合这个前提,建议先从并发基础和线程两章入手,重点看线程的创建管理、Scope 的边界控制,以及 Rayon 和 threadpool 这两类线程池的实际差异。理解了同步多线程的边界和性能特性,再进入异步编程部分,思路会清晰很多。不要跳过基础直接看异步,异步的底层逻辑和线程模型是强关联的。

学完能独立做什么,资料怎么配合练习

学完后,你应该能独立设计一个并发任务调度系统:根据任务类型选择线程池还是异步运行时,正确处理跨线程的状态共享,避免常见的死锁和性能瓶颈。资料配合练习的方式很明确:每看完一个章节的讲解,先自己动手写一遍示例代码,故意制造一些错误场景看编译器怎么报错,再对照课程里的写法修正。线程池那几节尤其要实际跑性能对比,别只看结论。异步部分要重点练运行时的任务调度和取消机制,光看不练很容易停留在“能读懂但写不出”的阶段。


无畏并发,Rust助你成为编程高手

课程目录

*   开篇词/

  *   开篇词|如何用Rust写出安全高效的并发代码?

*   第一章:并发编程基础/

  *   01|并发江湖,逐鹿天下:并发编程的基本概念与应用场景

  *   02|并发险途,乱象迷津:并发编程的挑战与问题

  *   03|欲善其事,先利其器:开发环境搭建

*   第二章:Rust 线程与线程池/

  *   04|匠心独运,生生不息:如何创建和管理线程?

  *   05|细察毫厘,优化性能:Rust 线程高级概念

  *   06|沉睡待机,应声而起:线程的挂起和唤醒

  *   07|划定边界,掌控全局:Scope和子线程的终止

  *   08|博采众长,触类旁通:有趣的线程扩展

  *   09|蓄势待发,并行天下(一):常用线程池之Rayon

  *   10|蓄势待发,并行天下(二):常用线程池之threadpool

  *   11|百花齐放,百家争鸣:更多的线程池

*   第三章:异步编程/

  *   12|时序交错,异步之美:async/await异步编程

  *   13|运筹帷幄,伺机而动:Tokio异步运行时(上)

  *   14|运筹帷幄,伺机而动:Tokio异步运行时(下)

  *   15|东邪西毒,南帝北丐:其他异步运行时

  *   16|用之则行,舍之则藏:异步编程的场景和陷阱

  *   17|躬行实践,洞悉其理:自己动手实现一个Future

  *   18|双管齐下,两全其美:编写同时支持同步和异步的代码

*   第四章:同步原语/

  *   19|海纳百川,有容乃大:并发容器(上)

  *   20|海纳百川,有容乃大:并发容器(下)

  *   21|一夫当关,万夫莫开:互斥锁

  *   22|并行不悖,独占其时:读写锁

  *   23|空前绝后,一劳永逸:Once同步原语

  *   24|静观其变,伺机而动:Convar条件变量

  *   25|齐头并进,胜利会师:Barrier屏障

  *   26|各取所需,节制有度:Semaphore信号量

  *   27|百川归海,万流归宗:mpsc和mpmc

  *   28|浑然一体,一气呵成:atomic原子操作(上)

  *   29|浑然一体,一气呵成:atomic原子操作 (中)

  *   30|浑然一体,一气呵成:atomic原子操作 (下)

  *   31|包罗万象,风雨同舟:并发集合(上)

  *   32|包罗万象,风雨同舟:并发集合(下)

*   直播专场/

  *   直播专场(一)|并发之美,Rust中的线程应用

  *   直播专场(二)|异步编程示例:演示Rust并发编程的能力

  *   直播专场(三)|同步:共享内存和消息传递

  *   直播专场(四)|并发问题和并发测试

*   结束语 & 结课测试/

  *   结束语|在Rust的世界里乘风破浪,无畏前行

  *   结课测试|来赴一场满分之约