GCD 中 Group的使用

GCD 中的group 使用

在最近的业务场景中,考虑到性能的优化,以及建减少服务器的压力,使用到从并行到串行业务的流程。
假设 场景服务中 要对对象A 的属性 成员B 的图片进行上传后,再处理图片路径 然后再提交A的相关数据。我处理的场景方案就是group

使用方式 :

dispatch_group_t group = dispatch_group_create();
dispatch_queue_t mainQueue = dispatch_get_main_queue();

             dispatch_group_enter(group);

   dispatch_async(mainQueue, ^{
              dispatch_group_leave(group);

    
      });
      


// 组中的队列全部执行完毕后就通知调度组
dispatch_group_notify(g, dispatch_get_main_queue(), ^{
  NSLog(@"MainTask: %@", [NSThread currentThread]);
});


  //等待组中的任务都执行完毕,才会执行
  dispatch_group_notify(group, dispatch_get_main_queue(), ^{
//此处执行 完成组内任务后的内容
  });
  
  //等待组中的任务都执行完毕,才会继续执行后续的代码
  dispatch_group_wait(group, DISPATCH_TIME_FOREVER);

以上是我删除掉了业务代码所写的组内执行任务结束后 回归串行的方法。
有需求可参考使用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法。这大概是史上最详细、清晰的关于 GCD 的详细讲...
    花花世界的孤独行者阅读 3,490评论 0 1
  • 在这两部分的系列中,第一个部分的将解释 GCD 是做什么的,并从许多基本的 GCD 函数中找出几个来展示。在第二部...
    透支未来阅读 2,854评论 0 1
  • 1 什么是线程? 线程(英语:thread)是操作系统能够进行运算调度的最小单位。 线程是独立调度和分派的基本单位...
    朱允见阅读 3,558评论 0 1
  • 2018年5月22日。诗以为纪。 莫笑匹夫老,初夏蛙鸣早。 只要肯攀登,尤自称年少。 香樟雅舍暖,万千气象新。 谢...
    王文波ah阅读 4,373评论 2 3

友情链接更多精彩内容