原子和非原子属性

Posted on 2016-07-16 18:41  柠檬片  阅读(137)  评论(0)    收藏  举报
  • OC在定义属性时有nonatomic和atomic两种选择
    patomic:原子属性,为setter方法加锁(默认就是atomic)
    pnonatomic:非原子属性,不会为setter方法加锁
 
  •  nonatomic和atomic对比
    atomic:线程安全,需要消耗大量的资源
    nonatomic:非线程安全,适合内存小的移动设备
  
  •  OS开发的建议
    所有属性都声明为nonatomic
    尽量避免多线程抢夺同一块资源
    尽量将加锁、资源抢夺的业务逻辑交给服务器端处理,减小移动客户端的压力