下面这一篇是关于线程安全保护实现的几种方式和对比,综合来讲,如果简单的同步(不考虑性能)可以使用代码实现最简单的@synchronized,也是我们最常用的做法。
如果关注性能或在gcd中使用,推荐使用dispatch_semaphore_wait
。
http://www.jianshu.com/p/938d68ed832c
注意:这里如果要使用dispatch_semaphore_wait
来实现同步效果,第二个参数应该填写DISPATCH_TIME_FOREVER
下面这一篇是关于线程安全保护实现的几种方式和对比,综合来讲,如果简单的同步(不考虑性能)可以使用代码实现最简单的@synchronized,也是我们最常用的做法。
如果关注性能或在gcd中使用,推荐使用dispatch_semaphore_wait
。
http://www.jianshu.com/p/938d68ed832c
注意:这里如果要使用dispatch_semaphore_wait
来实现同步效果,第二个参数应该填写DISPATCH_TIME_FOREVER