iOS中atomic和nonatomic的区别
来源:互联网 发布:武汉php培训 编辑:程序博客网 时间:2024/05/16 18:21
atomic 和 nonatomic的区别:系统自动生成的 getter/setter方法不一样。(如果自己写 getter/setter,那 atomic/nonatomic/retain/assign/copy这些关键字只起提示作用,写不写都一样)。
atomic:系统生成的 getter/setter会保证 get、set操作的完整性,不受其他线程影响。比如,线程 A的 getter 方法运行到一半,线程 B 调用了 setter:那么线程 A的 getter 还是能得到一个完好无损的对象。(多线程中)
nonatomic:就没有这个保证了。所以,nonatomic的速度要比atomic快。(我们程序中很少用多线程所以常用nonatomic)。
不过atomic可并不能保证线程安全。如果线程 A调了 getter,与此同时线程 B、线程 C 都调了 setter——那最后线程 A get到的值,3种都有可能:可能是 B、C set之前原始的值,也可能是 B set的值,也可能是 C set的值。同时,最终这个属性的值,可能是 B set的值,也有可能是 C set的值。
0 0
- iOS中atomic和nonatomic的区别
- IOS atomic和nonatomic的区别
- iOS atomic和nonatomic区别
- atomic和nonatomic的区别
- IOS中atomic ,nonatomic, assign, copy ,retain的区别
- ios atomic nonatomic区别
- ios atomic nonatomic区别
- iOS中atomic 与 nonatomic,assign,copy与retain的定义和区别
- iOS中关于atomic和nonatomic,assign、weak、strong、retain的使用、区别
- iOS atomic和nonatomic
- ios-nonatomic和atomic
- atomic和nonatomic区别
- nonatomic和atomic之间的区别
- property属性的atomic和nonatomic区别
- iOS IOS atomic与nonatomic,assign,copy与retain的定义和区别
- nonatomic与atomic的区别
- NONATOMIC与ATOMIC的区别
- iOS中 atomic、nonatomic、assign、copy、retain、readonly的定义与区别
- 射频识别技术漫谈(5)——防冲突
- 小米手机无法调试Android studio
- 背景建模或前景检测(Background Generation And Foreground Detection) 三
- DOM基础知识
- 中国(北方)大学生程序设计训练赛(第二周)(Problem C: A Water Problem-dp)
- iOS中atomic和nonatomic的区别
- 页面到后台参数乱码
- MyHandler.h中的全局函数GetAttribute
- CSP-201512-2 消除类游戏
- test
- jetty和tomcat解析xml路径区别
- ubuntu 设置
- JSP Cookies 处理
- 梦想因破灭而成长,梦想因实现而伟大