ios的atomic一定是线程安全的吗?2017-11-19 本文已影响0人 小山93atomic修饰的属性一定是线程安全的吗?这个问题其实包括两个块内存,一个是栈区指针的内存A,一个是堆区对象占用的内存B。atomic 只是对属性的 getter/setter 方法加自旋锁,也就是对A加锁,这样可以保证A是线程安全的。这样并没有对B做任何处理所以B不是线程安全的。如果一个对象的改变不是直接调用 getter/setter 方法,而是直接对对象内部属性修改、字符串拼接、数组增加和移除元素等操作,就不能保证这个对象是线程安全的。