8

如果我使用

@property (atomic,assign) int value;

然后像这样访问它

self.value--;

那减量是原子的吗?因为如果我必须这样做:

self.value = self.value - 1;

那么我确信在读取和写入之间会有竞争条件的机会。

我的直觉当然是这样做

@synchronized(self) { value--; }

但有人告诉我这不是犹太洁食。

谢谢。

4

1 回答 1

14

按照Apple 的这篇文章中的描述尝试 OSAtomicIncrement 和 OSAtomicDecrement 。

self.value = self.value - 1;          

无论属性如何定义,都不会是原子的。

于 2012-06-11T22:20:01.773 回答