美文网首页
GCD 大中枢调度之group

GCD 大中枢调度之group

作者: LV大树 | 来源:发表于2021-05-27 23:44 被阅读0次

最近吃了这个亏呀。
涉及到多个异步请求完成后,再刷新界面。
我想各位必有神通,我这里用的是GCD的派发组。
创建一个派发组,

dispatch_group_t group = dispatch_group_create();
再创建一个并发队列。
dispatch_queue_t queue = dispatch_queue_create("label", DISPATCH_QUEUE_CONCURRENT);

dispatch_group_async(group, queue, ^{
//必须先进入组
dispatch_group_enter(group);
//根据你的任务,这里加入一个异步操作,如网络请求。

完成后调用离开组
dispatch_group_leave(group);
});
dispatch_group_async(group, queue, ^{
//必须先进入组
dispatch_group_enter(group);
//根据你的任务,这里加入另一个异步操作,如网络请求。

完成后调用离开组
dispatch_group_leave(group);
});
dispatch_group_async(group, queue, ^{
//必须先进入组
dispatch_group_enter(group);
//根据你的任务,这里加入第N个异步操作,如网络请求。

完成后调用离开组
dispatch_group_leave(group);
});

//当所有组都退出时,会调用这里。然后在主线程刷新你的界面。
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];//刷新你的界面。
});
});

千万要小心操作,必须先进入组,最后离开组。

相关文章

  • GCD 大中枢调度之group

    最近吃了这个亏呀。涉及到多个异步请求完成后,再刷新界面。我想各位必有神通,我这里用的是GCD的派发组。创建一个派发...

  • GCD之调度组diapatch_group

    调度函数:dispatch_group dispatch_group是GCD(Grand Central Disp...

  • iOS多线程(GCD)

    一. 了解GCD是什么 GCD的全称是Grand Central Dispath, "强大的中枢调度器". GCD...

  • ##iOS开发之多线程开发之GCD

    三.GCD(经常使用) GCD(Grand Central Dispatch):牛逼的中枢调度器.GCD是基于C由...

  • iOS多线程-多线程实现之GCD

    什么是GCD?GCD: Grand Central Dispatch (重要的中枢调度器)GCD是纯C语言的, 学...

  • iOS多线程之GCD - 基础

    GCD系列 GCD基础 GCD进阶函数 调度组dispatch_group 信号量dispatch_semapho...

  • GCD随笔

    GCD:grand center dispatch(伟大的中枢调度器),打开GCD的包文件

  • GCD调度组的使用

    GCD调度组(dispatch_group)的使用 GCD是Grand Central Dispatch的缩写,它...

  • 多线程整理

    一: GCD(Grand Central Dispatch)->中枢调度器1>. 存在的库:GCD存在于libdi...

  • GCD

    1.GCD GCD(Grand Central Dispatch) 伟大的中枢调度器GCD是苹果为多核的并行运算提...

网友评论

      本文标题:GCD 大中枢调度之group

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