美文网首页
关于GCD和队列的使用场景

关于GCD和队列的使用场景

作者: zhlv | 来源:发表于2020-04-07 16:06 被阅读0次

直接撸代码

  1. 看一下下面的输出log
    现在一个页面有很多请求, 有的时候, 需要等请求全部完成,才能去刷新页面,这样就用到队列,GCD, 下面就是一个例子
 dispatch_group_t group = dispatch_group_create();
        dispatch_queue_t queue = dispatch_queue_create(0, 0);
        dispatch_group_enter(group);
        dispatch_group_enter(group);
        dispatch_group_enter(group);
        dispatch_async(queue, ^{
            [NSThread sleepForTimeInterval:1.0];
            dispatch_async(dispatch_get_global_queue(0, 0), ^{
                [NSThread sleepForTimeInterval:1];
                NSLog(@"任务1 完成");
                dispatch_group_leave(group);
            });
        });
        
        dispatch_async(queue, ^{
             [NSThread sleepForTimeInterval:2.0];
             dispatch_async(dispatch_get_global_queue(0, 0), ^{
                 [NSThread sleepForTimeInterval:2];
                 NSLog(@"任务2 完成");
                 dispatch_group_leave(group);
             });
         });
        

        dispatch_async(queue, ^{
            [NSThread sleepForTimeInterval:3.0];
            dispatch_async(dispatch_get_global_queue(0, 0), ^{
               [NSThread sleepForTimeInterval:3];
               NSLog(@"任务3 完成");
               dispatch_group_leave(group);
           });
        });
    
        NSLog(@"开始执行");
        dispatch_group_notify(group, queue, ^{
            NSLog(@"全部完成");
        });
        NSLog(@"最后一步");
        

相关文章

  • 关于GCD和队列的使用场景

    直接撸代码 看一下下面的输出log现在一个页面有很多请求, 有的时候, 需要等请求全部完成,才能去刷新页面,这样就...

  • iOS多线程--GCD篇

    GCD 文章目录GCD简介任务和队列GCD的使用步骤队列的创建方法任务的创建方法GCD的基本使用并行队列 + 同步...

  • iOS多线程--彻底学会多线程之『GCD』

    GCD 文章目录 GCD简介 任务和队列 GCD的使用步骤 队列的创建方法 任务的创建方法 GCD的基本使用 并行...

  • iOS GCD

    GCD 简介 GCD 任务和队列 GCD 的使用步骤 GCD 的基本使用(六种组合不同区别,队列嵌套情况区别,相互...

  • 多线程【转】

    文章目录GCD简介任务和队列GCD的使用步骤队列的创建方法任务的创建方法GCD的基本使用并行队列 + 同步执行并行...

  • iOS-多线程:GCD

    GCD 简介 GCD 任务和队列 GCD 的使用步骤 GCD 的基本使用(6种不同组合区别) GCD 线程间的通信...

  • NSOperation相关

    GCD和NSOperation比较 GCD :任务+队列步骤:创建队列--->使用函数将封装的任务添加到队列中 N...

  • iOS多线程:GCD Group、Barrier和NSOpera

    GCD系列文章 GCD任务和队列使用详解 本文主要总结GCD Group、Barrier和NSOperationQ...

  • GCD队列使用

    使用GCD前,先对队列总结一下: 串行和并发 GCD中队列分为两种:串行队列、并发队列。串行队列:任务按在队列里的...

  • 多线程之GCD

    GCD介绍 1、GCD简介 2、GCD任务和队列 3、GCD 的基本使用 4、GCD 线程间的通信 5、GCD 的...

网友评论

      本文标题:关于GCD和队列的使用场景

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