如果我使用
@property (atomic,assign) int value;
以后再访问它
self.value--;
是原子减量吗?因为如果我必须这样做:
self.value = self.value - 1;
然后我确信在读和写之间可能存在竞争条件。
我的直觉当然就是这样做
@synchronized(self) { value--; }
但我被告知这不是犹太人。
感谢。
答案 0 :(得分:13)
按照this article from Apple中的说明尝试OSAtomicIncrement和OSAtomicDecrement。
self.value = self.value - 1;
无论属性如何定义,都不是原子的。