iOS多线程系列之GCD栅栏(barrier)实现同步锁
- 多线程编程中很容易出现资源竞争的问题,好比异步读写操做形成数据不一样步。那么解决这一问题多线程编程中提供了一种同步机制叫同步锁。iOS中实现同步锁机制的方案不止一种,这里主要介绍一下强大的GCD给出的方案----栅栏(barrier) 下面直接上代码:

多运行几回看结果:
编程

- 能够看出来dispatch_barrier_async 可以在异步并发队列中对写入操做单个任务进行资源控制,也就是说确保了在写入任务操做3以前的并发任务肯定完成,而在写入任务操做3以后的并发任务等待了写入操做3完成以后才进行执行(即便让写入操做3的线程sleep了1秒的状况下。更能清晰得出上述结论)。
- 以上就是GCD之栅栏(barrier函数)实现同步锁方案。若有不正确的地方,欢迎小伙伴指点,共同进步。
欢迎关注本站公众号,获取更多信息