线程锁的使用

2018-11-30  本文已影响6人  00d1ed2b53ae

方式一:对该类CLASSA加线程锁,缺点:该类生成的实例共享一个线程锁,因此实例a、实例b、实例c在执行该方法时,会出现先后等待导致性能下降

synchrosized(self){
代码
}

方法二:使用nslock对要操作的代码进行加锁,问题:被锁中的代码由于资源不够产生死锁

_lock =[ [NSLock alloc]init];
void method {
  [_lock lock];
  代码
  [_lock unlock];
}

方法三:使用GCD的串行队列进行处理数据


image.png
上一篇 下一篇

猜你喜欢

热点阅读