码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C语法之nonatomic和atomic之间的区别

时间:2015-06-13 21:29:21      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

atomic:
保证 setter/getter 这两个方法的一个原语操作。如果有多个线程同时调用 setter 的话,不会出现某一个线程执行  setter 全部语句之前,另一个线程开始执行 setter 情况,相当于方法头尾加了锁一样。 
 
nonatomic:(一般情况推荐用)
不保证 setter/getter 这两个方法的一个原语操作,所以你可能会取到不完整的东西。 比如 setter 方法里面改变两个成员变量,如果你用 nonatomic 的话,getter 可能会取到只更改了其中一个变量时候的状态。 
 
关键区别:atomic 是线程安全的,nonatomic 是线程不安全的。如果只是单线程操作的话用 nonatomic 最好,因为后者效率高一些。 

Objective-C语法之nonatomic和atomic之间的区别

标签:

原文地址:http://www.cnblogs.com/huangjianwu/p/4574007.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!