gcd 栅栏函数

2021-02-19  本文已影响0人  星空WU

1、当开发中,需要开启  多个任务,同时需要控制前几个任务和后几个任务的顺序,该怎么办?

2、可以使用GCD的栅栏函数控制任务的顺序。dispatch_barrier_async(dispatch_queue_t queue, dispatch_block_t block);

3、注意事项:

队列为并发队列,这个queue不能是(dispatch_get_global_queue)全局的并发队列,所以是用新创建的并发队列dispatch_queue_create

函数:

必须为异步函数async,同步函数sync没有意义。

在前面的任务执行结束后它(栅栏函数)才执行,而且它后面的任务等它执行完成之后才会执行(它前面任务顺序不能控制,它后面的顺序也不能控制)

同步栅栏函数:dispatch_barrier_sync: barrier_sync 块里的代码子主线程执行

异步栅栏函数;  dispatch_barrier_async: barrier_async块里的代码在子线程执行。

上一篇 下一篇

猜你喜欢

热点阅读