gpt4 book ai didi

swift - 原子引用计数和自动引用计数有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 08:25:23 25 4
gpt4 key购买 nike

我看到 ARC 是一个不时使用的首字母缩略词,但例如在 Rust 中它是“原子引用计数”,而在 Swift 或 ObjC 中他们称之为“自动引用计数”。到底有什么区别?据我所知,它们的行为方式似乎相同。

最佳答案

这实际上……完全不同。


在 Rust 方面,我们有 ArcRc,它们是引用计数指针:

  • Rc 是最基本的引用计数指针:克隆它只会增加一个计数器,当指向特定数据的最后一个 Rc 被删除时,计数器下降到 0,那条数据也被丢弃。
  • Arc 是它的原子版本,这意味着它是线程安全的并且可以跨线程共享(与 Rc 不同)。

在 Swift 方面,ARC 指的是自动引用计数,顾名思义,Swift 的垃圾收集机制是自动的(在代码中是不可见的)。

关于swift - 原子引用计数和自动引用计数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39943375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com