非原子值得吗?

时间:2011-04-12 17:24:10

标签: cocoa-touch performance

由于性能原因,我已多次将@property定义为非原子。有没有证据表明这是值得的?

1 个答案:

答案 0 :(得分:3)

当属性未声明为nonatomic时,合成访问者将使用锁来确保该属性是线程安全的。当不必要地使用锁时,它会向您的程序添加不需要的消息。锁定操作本身也应该是原子的,这意味着处理器将锁定内存总线。这可能会减慢您的程序以及其他程序。如果不经常访问属性,您可能不会注意到差异,但如果经常使用该属性,您肯定想要使用它。但总的来说,为什么不使用它呢?这是一些额外的字符,可能会导致您的程序加速。