首页 > 其他 > 详细

OC-nonatomic和atomic相关

时间:2015-05-12 22:19:02      阅读:260      评论:0      收藏:0      [点我收藏+]

1.原子和非原子属性
1.1>OC在定义属性时又nonatomic和atomic两种选择
(1)atomic:原子属性,为setter方法加锁(默认就是atomic)
(2)nonatomic:非原子属性,不会为setter加锁
1.2>atomic加锁原理
@property (assign,atomic) int age;
-(void)setAge:(int)age{
    @synchronized(self){
        _age=age;
    }

}
1.3>nonatomic和atomic对比
atomic:线程安全,需要消耗大量资源
nonatomic:非线程安全,适合内存小得移动设备
iOS开发建议:
(1)所有属性都声明为nonatomic
(2)尽量避免多线程抢夺同一块资源
(3)尽量将加锁,资源抢夺的业务逻辑交给服务器端处理,减小移动客户端的压力

 

 

线程GCD等 学习查询地址:http://www.cnblogs.com/ttgb/p/3805236.html

OC-nonatomic和atomic相关

原文:http://www.cnblogs.com/wvqusrtg/p/4498507.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!