概括来讲,当你想在线程之间共享数据时,你通常会使用 Arc,而使用普通的引用是无法做到这一点的。当你需要修改在线程间共享的数据时,你还需要使用 Mutex。当你想要修改线程间共享的数据,并且无法通过使用引用来共享一个 Mutex 时,你应该使用 Arc<Mutex<...>>

https://zhuanlan.zhihu.com/p/523959791

https://www.less-bug.com/posts/rust-get-to-know-all-kinds-of-boxes-box-rc-arc-cell-refcell/


智能指针的分类

  • 所有权:独占还是共享
  • 可变性
  • 原子性
指向原始笔记的链接

Box

  • 独占