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

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

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

总结:

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

相关文章

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

    1,原子性(atomic):OC语言中属性设置默认是原子性的,在调用属性的setter方法的时候只能一个一个调用,...

  • iOS-原子属性和非原子属性

    在OC中,声明一个属性我们常会用到nonatomic(非原子)或者atomic(原子)来修饰属性.加上这种修饰会影...

  • 原子和非原子属性

    OC在定义属性时有nonatomic和atomic两种选择 atomic:原子属性,为setter方法加锁(默认就...

  • IOS atomic 与 nonatomic

    做IOS中我们会经常写属性, 写属性就必然会涉及到原子性(atomic), 和非原子性(nonatomic), 这...

  • iOS - 基础

    iOS 属性修饰关键字都有哪些? atomic 原子性访问,对属性赋值的时候加锁 noatomic 非原子...

  • ios 原子性和非原子性

    原子性和非原子行相对于线程的安全来讲 nonatomic:非原子属性,线程不安全的,效率高 atomic:原子属性...

  • 原子属性

    非原子属性nonatomic 和原子属性atomic 原子属性atomic:就是为了保证这个属性的安全性(线程安全...

  • 多线程——原子、非原子,自旋锁和互斥锁无标题文章

    多线程——原子、非原子,自旋锁和互斥锁 nonatomic:非原子属性,线程不安全,但是效率高atomic:原子属...

  • 8线程程序间的通信

    原子核非原子属性的选择 OC在定义属性时有nonatomic和atomic两种 atomic:原子属性,为sett...

  • 2022加油(fmy)

    2022加油(fmyz) 一、基础 1.说出常用的属性修饰关键字 原子性和非原子性 nonatomic 非原子操作...

网友评论

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

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