2019年2月15日
摘要: nonatomic 非线程安全的,适合内存小的移动设备,内部不会加锁。 atomic 线程安全的,需要消耗大量的资源,内部会对setter方法加锁 开发中的建议: 1,所有的属性都声明为 nonatomic (如果不声明,默认是atomic) 2,尽量避免多线程抢夺同一资源 3,尽量将加锁,资源抢夺 阅读全文
posted @ 2019-02-15 23:59 大圣ios博客 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 多条线程抢夺同一资源时,经常需要加锁,保证同一时间只能有一条线程操作一个资源。 同步锁就是互斥锁 格式:@synchronized (token) { } token:锁对象,要使用全局的对象,建议使用self {} 要加锁的代码段 注意点:加多把锁是无效的。 要注意加锁的位置。 互斥锁的优点: 能 阅读全文
posted @ 2019-02-15 23:24 大圣ios博客 阅读(994) 评论(0) 推荐(0) 编辑
摘要: 线程从生到死有几种状态: 创建(new) 就绪start 运行running 阻塞sleep 死亡dead cpu调用线程是从可调度线程池中调用, 当线程阻塞时会移出可调度线程池。 线程是不能直接从阻塞状态直接变成运行状态的, 需要先变成就绪状态,当cpu调用该线程时, 就会变成运行状态。 控制线程 阅读全文
posted @ 2019-02-15 22:00 大圣ios博客 阅读(1520) 评论(0) 推荐(0) 编辑