如何用GCD同步若干个异步调用?

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

(如根据若干个url异步加载多张图片,然后在都下载完成后合成一张整图)

dispatch_queue_tqueue =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);

dispatch_group_tgroup = 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(), ^{// 合并图片});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们知道在iOS开发中,一共有四种多线程技术:pthread,NSThread,GCD,NSOperation: ...
    请叫我周小帅阅读 5,349评论 0 1
  • 简介 GCD(Grand Central Dispatch)是在macOS10.6提出来的,后来在iOS4.0被引...
    sunmumu1222阅读 4,371评论 0 2
  • 谈到iOS多线程,一般都会谈到四种方式:pthread、NSThread、GCD和NSOperation。其中,苹...
    攻城狮GG阅读 2,299评论 0 3
  • “很多时候,我不是烦电话销售,而是烦他们不专业。” 作为一个coder,敲代码时响起的电话铃声,总是能瞬间叫我的思...
    南京在下大暴雨阅读 3,584评论 0 4
  • 顶岗实习的第一天 我被分配在东洪镇的一个幼儿园,这个幼儿园还好,其他同学可就惨了,被分配的地方都不是名单里的,后来...
    爱的绽放阅读 4,212评论 0 1