atomic, nonatomic 属性

发现百度上搜这个属性的文章语焉不详,或者干脆就是错的。



atomic 保证值从 getter/setter 中获取

即线程A正在调用getter的过程中,线程B调用了这个值的setter,线程A将得到一个autorelease的对象。即线程A保证能够得到一个值。

nonatomic则没有这个保证,所以nonatomic可能比atomic更快。

atomic并非线程安全的,线程A取一个atomic属性,当前值a1, 此时线程B,C同时调用这个属性的setter, 假设B设置为a2, C设置为a3,此时A获取的值可能是a1, a2, a3中任意一个。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,786评论 0 9
  • @synthesize和@dynamic分别有什么作用?@property有两个对应的词,一个是 @synthes...
    笔笔请求阅读 532评论 0 1
  • 重点掌握 3 类对象和方法 对象就是一个物体 类的独特存在就是一个实例,对实例进行操作叫做方法。方法可以应用于类或...
    Coder大雄阅读 1,285评论 0 2
  • 加入一个阅读小组后,定期的阅读更新书单并分享成为了一种常态,也庆幸加入了这个小组。10月书单是《小狗钱钱》和《穷爸...
    十八_阅读 461评论 0 4
  • HTTP状态码(百度百科)(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。...
    勤奋的pangdunhu阅读 256评论 0 1