dispatch_group_t

派遣组允许组织线程知道一个或者多个任务执行完成。

如果有一种场景,比如在队列中的任务没有执行完之前,主线程不应该继续往下运行,此时就可以使用派遣组技术来让一个或者多个队列等待执行完毕后再返回主线程。

下面的例子显示了创建派遣组的基本用法:

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_group_t group = dispatch_group_create();

dispatch_group_async(group, queue, ^{

//执行一些异步的工作

});

//一些其他的处理

//在派遣组中等待,阻止当前的线程继续执行

dispatch_group_wait(group, DISPATCH_TIME_FOREVER);

将队列以及任务添加进组,使用方法dispatch_group_async,第11行调用了dispatch_group_wait方法等待所有组内的任务结束后才会返回。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 参考博客:https://www.cnblogs.com/zhou--fei/p/6747938.html 一、d...
    猿二胖阅读 5,145评论 0 0
  • 背景 担心了两周的我终于轮到去医院做胃镜检查了!去的时候我都想好了最坏的可能(胃癌),之前在网上查的症状都很相似。...
    Dely阅读 13,043评论 21 42
  • Dispatch Group的作用: 在追加都Dispatch Queue中的多个处理全部结束后想执行结束处理...
    thinkq阅读 4,505评论 0 0
  • Managing Units of Work(管理工作单位) 调度块允许您直接配置队列中各个工作单元的属性。它们还...
    edison0428阅读 12,480评论 0 1
  • iOS中GCD的使用小结 作者dullgrass 2015.11.20 09:41*字数 4996阅读 20199...
    DanDanC阅读 4,659评论 0 0

友情链接更多精彩内容