码迷,mamicode.com
首页 > 其他好文 > 详细

OC-nonatomic和atomic相关

时间:2015-05-12 22:20:23      阅读:128      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!