美文网首页
队列组dispatch_group的使用

队列组dispatch_group的使用

作者: 邓布利多教授 | 来源:发表于2019-03-11 10:12 被阅读0次

    dispatch_group_t:队列组

    dispatch_group_enter和dispatch_group_leave:
    结合使用,意思相当于有进就有出,功能等同于dispatch_group_sync

    dispatch_group_notify:
    调动队列组到指定线程执行任务。

    NSLog(@"begin");
    /*
    创建队列组
    */
    dispatch_group_t group =  dispatch_group_create();
    
    /*
    异步执行并发队列
    */
    dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSLog(@"1111");
    });
    
    /*
    任务执行完毕,回到主线程
    */
    dispatch_group_notify(group, dispatch_get_main_queue(), ^{
        NSLog(@"end");
    });
    

    dispatch_group_wait:
    暂停当前线程(阻塞当前线程)。

    NSLog(@"begin");
    /*
    创建队列组
    */
    dispatch_group_t group =  dispatch_group_create();
    
    /*
    异步执行并发队列
    */
    dispatch_group_async(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSLog(@"1111");
    });
    
    /*
    等待上面的任务全部完成后,会往下继续执行
    */
    dispatch_group_wait(group, DISPATCH_TIME_FOREVER);
    NSLog(@"end");
    

    相关文章

      网友评论

          本文标题:队列组dispatch_group的使用

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