美文网首页
【iOS】声明原子和非原子属性

【iOS】声明原子和非原子属性

作者: 修炼一颗真心 | 来源:发表于2018-04-20 15:05 被阅读0次
    1,原子性(atomic):OC语言中属性设置默认是原子性的,在调用属性的setter方法的时候只能一个一个调用,不会出现多条线程同时调用setter方法,相当于在函数开始和结束加了锁定.这样并发访问属性时性能会变低.
    2,非原子性(nonatomic):通常在OC语言中声明属性都是非原子性的,调用setter方法的时候不锁定多个线程可以同时调用属性,这样并发访问时效率会比较高

    总结:

    atomic:setter方法会加锁,线程安全,消耗资源多
    nonatomic:setter方法不会加锁,非线程安全,消耗资源少

    相关文章

      网友评论

          本文标题:【iOS】声明原子和非原子属性

          本文链接:https://www.haomeiwen.com/subject/epoakftx.html