ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Rust 所有权进阶必读:为什么 Rc 共享所有权是个伪概念?

Rust 所有权进阶必读:为什么 Rc 共享所有权是个伪概念? 文章目录1. 回顾:变量名 / 值 / 资源1.1 变量名(绑定)1.2 值1.3 资源2. 所有权的深度诠释3. 语义关系4. Rc:节外生枝的搅局者5. 所有权的语义延伸到资源上了吗?6. 所有权和资源到底有什么联系?7. 结语所有权是 Rust 最核心也是最基础的概念之一,可能在一开始接触时会觉得有一些困难,但经过认真学习后基本都可以掌握。不过,这并不意味着我们就理解透彻了,在遇到一些复杂场景时,很多人会再次陷入到困惑中。最近,我在试图理解“为什么 Rc 类型跨线程 move 是不安全的”这样一个问题时,就掉进了“共享所有权”的逻辑陷阱中,浪费了不少时间,究其原因还是对值和所有权的认识不够深刻导致的,所以我特意撰写了这篇文章把“共享所有权”这个问题解释清楚。实际上,伴随着学习的深入,你会发现 Rc 的“共享所有权”是理解“所有权”的一块“磨刀石”,只有消除了对“共享所有权”的所有疑惑,才算彻底地理解了“所有权”,由于所有权概念遍布于 Rust 这门语言的各个地方,如果对它理解得不够透彻,以后还会在其他地方碰壁,所以,这篇文章非常值得仔细研读(BTW,本文的写作过程非常艰难,用文字描述复杂而抽象的逻辑是一件很痛苦的事情,投入的精力远超付费收益,希望能帮到真正需要的人。欢迎关注:十万公里通票,发现更多原创优质文章)。1. 回顾:变量名 / 值 / 资源首先,钉死概念:概念解释所处位置变量名(绑定)一个名字,用于在编译期指代一个“值”编译期概念,运行时不存
返回列表