引言

Rust 的一大承诺是无畏的并发:让编写安全、并发的程序变得更加容易。到目前为止,我们对此还没有太多了解。迄今为止所做的所有工作都是单线程的。现在是时候做出改变了!

在本章中,我们将使我们的票务系统支持多线程。我们将有机会接触到 Rust 核心并发特性中的大部分内容,包括:

  • 使用 std::thread 模块的线程
  • 使用通道进行消息传递
  • 使用 ArcMutexRwLock 管理共享状态
  • SendSync 特性,它们编码了 Rust 的并发保证

我们还将讨论多线程系统的一些设计模式及其权衡。