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