GCD中的dispatch_barrier_async函数的使用(栅栏函数)

Posted lijinfu-software

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GCD中的dispatch_barrier_async函数的使用(栅栏函数)相关的知识,希望对你有一定的参考价值。

<一>什么是dispatch_barrier_async函数

毫无疑问,dispatch_barrier_async函数的作用与barrier的意思相同,在进程管理中起到一个栅栏的作用,它等待所有位于barrier函数之前的操作执行完毕后执行,并且在barrier函数执行之后,barrier函数之后的操作才会得到执行,该函数需要同dispatch_queue_create函数生成的concurrent Dispatch Queue队列一起使用

<二>dispatch_barrier_async函数的作用

1.实现高效率的数据库访问和文件访问

2.避免数据竞争

<三>dispatch_barrier_async实例

输出结果:1 2 --> barrier -->3 4  其中12 与 34 由于并行处理先后顺序不定

以上是关于GCD中的dispatch_barrier_async函数的使用(栅栏函数)的主要内容,如果未能解决你的问题,请参考以下文章

GCD 中的“全局队列”和“主队列”有啥区别?

IOS中的多线程之GCD

GCD 中的并发队列与串行队列

Ios小白必知的GCD术语

iOS开发中的gcd多线程tips

我写的由 GCD 代码支持的读写器锁导致并行测试中的死锁