GCD实现异步任务同步的两种方式

dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_CONCURRENT); dispatch_async(queue, ^{ // 任务1 }); dispatch_async(queue, ^{ // 任务2 }); dispatch_async(queue, ^{ // 任务3 }); dispatch_barrier_async(queue, ^{ // 任务4 }); dispatch_async(queue, ^{ // 任务5 }); dispatch_async(queue, ^{ // 任务6 });

在这段代码中,任务4要等待任务1、2、3的完成,任务5、6等待任务4的完成。

原文地址:https://www.cnblogs.com/walkingzmz/p/7262180.html