2
我将ARC看作是偶尔使用的首字母缩写词,但例如Rust就是“原子引用计数”,而在Swift或ObjC中,他们称之为“自动引用计数”。究竟有什么区别?据我所知,他们似乎行为相同。原子引用计数和自动引用计数之间有什么区别?
我将ARC看作是偶尔使用的首字母缩写词,但例如Rust就是“原子引用计数”,而在Swift或ObjC中,他们称之为“自动引用计数”。究竟有什么区别?据我所知,他们似乎行为相同。原子引用计数和自动引用计数之间有什么区别?
这实际上......完全不同。
上锈方面,我们有Arc
和Rc
其是引用计数指针:
Rc
是裸骨引用计数指针:克隆它只是递增计数器,并且当Rc
指向一个特定的数据被丢弃,计数器下降到0,并且数据段被丢弃太Arc
是它的原子版本,这意味着它是线程安全的,可以在线程间共享(不像Rc
)在Swift方面,ARC
是指自动引用计数,Swift的垃圾收集机制,顾名思义是自动的(并且在代码中不可见)。
还有一个问题:Swift的引用计数是原子吗? (我猜它必须是......?) –
鉴于它们完全不同,我很高兴我问了!谢谢:) –
@LukasKalbertodt:我希望如此!但是我们需要一位Swift专家来回答这个问题。 –