objective-c – 在Obj-C 2.0中锁定合成原子@properties的细节

前端之家收集整理的这篇文章主要介绍了objective-c – 在Obj-C 2.0中锁定合成原子@properties的细节前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_0@
Obj-C 2.0中的属性文档说明,原子属性在内部使用一个锁,但是它不记录锁的细节.有没有人知道这是一个每个属性的锁,每个对象的锁与@synchronized(self)所使用的隐含的锁相分离,或者相当于@synchronized(self)?

解决方法

原子@properties使用的锁是一个实现细节 – 对于适当的平台上的适当类型,没有锁的原子操作是可能的,如果苹果没有利用它,我会感到惊讶.在任何情况下都无法访问该锁,因此您不能在同一个锁上同步.几位苹果工程师指出,原子性质不能保证线程安全;原子属性只保证该值的获取/集合是原子的.为了正确的线程安全性,您将不得不使用更高级别的锁定或同步,并且您几乎肯定不想使用与合成的getter / setter(s)可能使用的锁相同的锁.

猜你在找的C&C++相关文章