财产申报中的含义atomic和nonatomic含义是什么?
@property(nonatomic, retain) UITextField *userName;
@property(atomic, retain) UITextField *userName;
@property(retain) UITextField *userName;
Run Code Online (Sandbox Code Playgroud)
这三者之间的运作区别是什么?
我读过很多 stackoverflow 的答案,比如原子属性线程安全吗?,什么时候使用@atomic?或者Objective-C 中的原子属性与线程安全,但我对此有疑问:
如果我错了,请纠正我,这就像我正在使用一个用 Atomic 属性声明的计数变量,当前它的值为 5,由两个线程访问,第一个线程将计数值增加 2,第二个线程将计数值减少 1 ,根据我的理解,这会按顺序进行,就像第一个线程增加其值一样,现在是 5 + 2 = 7;之后只有第二个线程可以访问 count 变量,并且只将其值减 1,即 7 - 1 = 6?