美文网首页
GCD-调度组

GCD-调度组

作者: labi3285 | 来源:发表于2017-09-14 23:07 被阅读20次

如果有多个执行任务,我们希望他们都执行完成后执行某一操作,可以采用调度组。

1、创建调度组:

dispatch_group_t group = dispatch_group_create();

2、创建并发任务:

// 创建并发队列
dispatch_queue_t queue = dispatch_queue_create("A", DISPATCH_QUEUE_CONCURRENT);
for (int i = 0; i < 10; i++) {
    // 添加多个并发异步操作到调度组
    dispatch_group_async(group, queue, ^{
        // 执行异步任务
    });
}

3、接收通知:

// 当group中所有操作执行完成后发出通知
dispatch_group_notify(group, queue, ^{
    NSLog(@"ending work done in %@", [NSThread currentThread]);
});

注意:
1、串行队列也是可以使用调度组的,并行用的比较多。
2、调度组相当于一个调度表单,每个异步操作进入组的时候登记,执行完成的时候,退出组,这样当组检测到没有操作的时候就进行反馈。

相关文章

  • GCD-调度组

    如果有多个执行任务,我们希望他们都执行完成后执行某一操作,可以采用调度组。 1、创建调度组: 2、创建并发任务: ...

  • 7.3 多线程-GCD

    多线程-GCD 多线程-GCD-串行并行 多线程-GCD.png GCD-线程的通讯、延时操作、定时器 GCD-线...

  • GCD group 的使用

    group 头文件中函数的解析: 调度组在项目中的使用(调度组的基本使用) 调度组:调度组是用来协调一个或多个任务...

  • swift 网络请求调度组

    /// 网络请求调度组private func datasRequestGroup() {// 创建调度组let ...

  • GCD-队列组

    //创建队列 dispatch_queue_t queen = dispatch_get_global_queue...

  • GCD-队列组

    1.队列组的基本概念 1.队列组(dispatch_group_t):用来管理队列中任务的执行。2.队列组的使用步...

  • GCD-伟大的中央调度器

    GCD全称是Grand Central Dispatch,可以译为“伟大的中央调度器”。它是纯C语言,提供了很多强...

  • 调度组

  • 【iOS】 GCD-资源竞争和死锁篇

    GCD-基础篇提出了三个问题,这里我们就这三个问题,在基于GCD-基础篇知识之上给出几种解决方案,仅供参考学习。 ...

  • GCD调度组

    1、第一种方式 2、第二种方式

网友评论

      本文标题:GCD-调度组

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