zoukankan      html  css  js  c++  java
  • OC-nonatomic和atomic相关

    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

    如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
  • 相关阅读:
    MySQL中tinytext、text、mediumtext和longtext详解
    端口冲突
    Form绑定
    Uri绑定
    只绑定Get参数
    Linux:Day4(上) 文件管理、管道
    selenium之frame
    selenium之选项卡管理
    Request
    爬虫常用库
  • 原文地址:https://www.cnblogs.com/wvqusrtg/p/4498507.html
Copyright © 2011-2022 走看看