美文网首页
iOS开发中GCD的dispatch_group_t的使用

iOS开发中GCD的dispatch_group_t的使用

作者: money_ac9e | 来源:发表于2020-04-26 20:54 被阅读0次

在iOS的开发过程中,我们经常会碰到这样的需求,需要我们同时有多个网络请求,当多个网络请求全部完成后才能执行下一步的操作。例如最近一个需求:主营品牌(首先需要获取所有品牌,向A服务器去请求;其次获取某个门店的主营品牌,这次去B服务器请求,默认显示并选中它)
其实这个问题很简单,可以在A请求完成之后,再执行B请求即可,但是在codeReview过程中,一个开发人员提出了用GCD的dispatch_group_t即队列多线程来解决更好,确实,从理论上来说,用group组的方式确实会更合适,那就改吧。

dispatch_group_t group = dispatch_group_create();


for (int i=0; i<10; i++) {
    
    dispatch_group_enter(group);

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        NSLog(@"%d----%d",i,i);
        dispatch_group_leave(group);
    });
    
}

NSLog(@"111");

dispatch_group_notify(group, dispatch_get_main_queue(), ^{
    NSLog(@"end");
});

链接:https://www.jianshu.com/p/69162c1d5029

相关文章

  • iOS多个网络请求完成后执行下一步

    1.使用GCD的dispatch_group_t dispatch_group_t downloadGroup =...

  • iOS开发中GCD的dispatch_group_t的使用

    在iOS的开发过程中,我们经常会碰到这样的需求,需要我们同时有多个网络请求,当多个网络请求全部完成后才能执行下一步...

  • iOS开发中GCD的dispatch_group_t的使用

    在iOS的开发过程中,我们经常会碰到这样的需求,需要我们同时有多个网络请求,当多个网络请求全部完成后才能执行下一步...

  • NSOperation

    NSOperation是ios基于GCD的封装,实际上会使用GCD也就意味着会使用NSOperation,开发中个...

  • iOS 开发之 GCD 不同场景使用

    iOS 开发之 GCD 不同场景使用 本文在iOS 开发值 GCD 基础 的基础上,继续总结了 GCD 的一些AP...

  • iOS多个网络请求执行

    1.使用GCD的dispatch_group_t -(void)Btn{ NSString*str=@"http:...

  • iOS之多线程

    iOS开发中,现在大部分都使用方便的GCD来管理多线程开发,那什么是GCD,以及它是如何使用的呢?这篇文章主要介绍...

  • iOS开发多线程之GCD

    iOS开发多线程之GCDiOS开发之GCD同步任务加强iOS开发之GCD串行队列iOS开发之GCD并发队列 GCD...

  • 关于GCD的使用

    在iOS开发中,对于多线程,大多数开发者使用苹果提供的简单的GCD, 频繁的使用GCD,并发队列并不会去管理最大并...

  • iOS GCD dispatch_group_t的使用

    dispatch_group_t所使用的的方法 下面是一个例子 打印结果

网友评论

      本文标题:iOS开发中GCD的dispatch_group_t的使用

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