美文网首页
问题:如何用GCD同步若干个异步调用?(如根据若干个url异步加

问题:如何用GCD同步若干个异步调用?(如根据若干个url异步加

作者: 姜小舟 | 来源:发表于2020-05-18 15:15 被阅读0次

使用Dispatch Group追加block到Global Group Queue,这些block如果全部执行完毕,就会执行Main Dispatch Queue中的结束处理的block。

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_group_t group = dispatch_group_create();
dispatch_group_async(group, queue, ^{ /*加载图片1 */ });
dispatch_group_async(group, queue, ^{ /*加载图片2 */ });
dispatch_group_async(group, queue, ^{ /*加载图片3 */ }); 
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
        // 合并图片
});

之前有道面试题与此类似 问题:有a、b、c、d 4个异步请求,如何判断a、b、c、d都完成执行?如果需要a、b、c、d顺序执行,该如何实现?

相关文章

网友评论

      本文标题:问题:如何用GCD同步若干个异步调用?(如根据若干个url异步加

      本文链接:https://www.haomeiwen.com/subject/yuuqohtx.html