安全解决 -- 互斥锁
@synchronized(self) {
//开始加锁,操作
}
优:
解决多线程抢夺资源产生的数据安全问题
缺:
消耗CPU资源多
使用前提:
多条线程执行一块代码时加锁
线程同步:@synchronized()
多条线程在同一条线上执行(按顺序执行,与线程并发不同)
nonatomic 与 atomic
atomic保护线程安全,自动加锁
为setter加锁
对比
atomic:线程安全,消耗大量资源
nonatomic:非线程安全,适合内存小的移动设备
安全解决 -- 互斥锁
@synchronized(self) {
//开始加锁,操作
}
优:
解决多线程抢夺资源产生的数据安全问题
缺:
消耗CPU资源多
使用前提:
多条线程执行一块代码时加锁
线程同步:@synchronized()
多条线程在同一条线上执行(按顺序执行,与线程并发不同)
nonatomic 与 atomic
atomic保护线程安全,自动加锁
为setter加锁
对比
atomic:线程安全,消耗大量资源
nonatomic:非线程安全,适合内存小的移动设备