关于C#:为什么我应该在一个属性中使用 nonatomic?

Why should I ever use nonatomic in a property?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Objective-C properties: atomic vs nonatomic

默认情况下,Objective-C中的所有属性都是原子属性。如果我需要非原子的,我必须申报。但我想知道我为什么要用非原子的?即使我的应用程序不是多线程的,原子似乎是实现它的方法。非原子的优点是什么?


简短的回答是性能。如果将属性声明为atomic,则合成的访问器将使用锁来确保完全检索和设置值。如果您不需要这样做,例如,您的应用程序是单线程的,那么您将对这些锁进行性能惩罚,而不会得到好处。