7. Rust 内部共享

幻灰龙 2021-06-11 14:27:26

上一条: 跨线程传递 下一条:  C++ 生命周期回顾

Rust的有所有权唯一原则,但是有些时候,我们需要在多处持有一个不可变对象的所有权,这叫做 内部共享(`Internal sharing`) 有两种情况

  • 单线程,此时,可以用Rc<T>,这是一个引用计数指针
  • 多线程,此时,可以用Arc<T>,这是一个多线程安全的引用计数指针

     

     

...全文
5675 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
SoftwareTeacher 2021-09-15
  • 打赏
  • 举报
回复

如果不知道这个对象会在单线程或多线程的环境中使用呢? 默认多线程?

幻灰龙 2021-09-15
  • 举报
回复
@SoftwareTeacher Rust编译器会提示,没写对的话,编译会出错。

1,725

社区成员

发帖
与我相关
我的任务
社区描述
Rust是新一代大规模底层系统平台开发的强力选项,拥有现代的类型系统,精确的生命周期控制,流畅的表达力和错误处理,以及明晰的异步编程范式。
rust 个人社区
社区管理员
  • 幻灰龙
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
社区主要目的: 1. 讨论Rust的核心语法语义 2. 讨论Rust的编程范式、最佳实践。 3. 讨论10x创新技术

试试用AI创作助手写篇文章吧