并发与并行

Rust 语言本身对如何进行并发或并行并没有什么特别的偏好。标准库公开了操作系统线程和阻塞系统调用,因为每个人都有这些,而且它们足够统一,你可以在一个相对没有争议的方式下提供对它们的抽象。消息传递、绿色线程和异步 API 都足够多样化,以至于对它们的任何抽象都倾向于涉及我们在 1.0 版本中不愿意做出的权衡。

然而,Rust 对并发的建模方式使得将你自己的并发范式设计为一个库并让其他所有人的代码都能与你的代码一起工作变得相对容易。只需在适当的地方要求正确的生命周期以及 Send 和 Sync,你就可以开始比赛了。或者更确切地说,开始没有……竞态条件。