用 Rust 来无痛并发

这是 Rust Blog 的一篇文章: Fearless Concurrency with Rust

稍微翻译下前面一点。

领略一下 Rust 的并发:

  • channel 会将所有权信息沿线转移,所以你可以把一个指针发送到另一个线程而不用担心别的线程会竞争访问这个指针,Rust 的 channels 强制确保线程隔离
  • 一个知道自己保护着哪些数据,Rust 确保数据只能在上锁的时候保存,状态永远不会意外的共享,Rust 强制确保“锁住数据,而非代码”。
  • 每个数据类型都知道是否可以在两个线程间发送或多个线程间访问,Rust 强制确保能够安全的使用,没有数据竞争,即使是无锁数据结构也是这样。线程安全不仅仅是文档,而是一个规则。
  • 你甚至可以在线程间共享栈帧,Rust 会静态的确保当有线程使用它的时候帧有效。即使最大胆的分享形式,Rust 仍然保证安全。

发表评论

电子邮件地址不会被公开。 必填项已用*标注