美文网首页
GCD 中 Group的使用

GCD 中 Group的使用

作者: 家振要翻天 | 来源:发表于2019-07-18 13:56 被阅读0次

    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);
    
    

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

    相关文章

      网友评论

          本文标题:GCD 中 Group的使用

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