美文网首页
iOS 底层 -多线程-队列组应用

iOS 底层 -多线程-队列组应用

作者: 水中的蓝天 | 来源:发表于2020-04-08 15:45 被阅读0次

本文源自本人的学习记录整理与理解,其中参考阅读了部分优秀的博客和书籍,尽量以通俗简单的语句转述。引用到的地方如有遗漏或未能一一列举原文出处还望见谅与指出,另文章内容如有不妥之处还望指教,万分感谢 !

写在前面,队列可分为:串行队列和并发队列

队列组是什么 ?

队列组就是把多个队列组合起来使用。

用队列组来解决一下问题

  1. 如何共GCD实现以下功能:
    - 异步并发执行任务1、任务2
    - 等任务1、任务2都执行完毕后,在回到主线程执行任务3
- (void)test
{
   //1. 创建队列组
    dispatch_group_t group = dispatch_group_create();

    //2. 两种创建方式
    dispatch_queue_t queue = dispatch_queue_create("myqueue", DISPATCH_QUEUE_CONCURRENT);
    //    dispatch_queue_t queue = dispatch_get_global_queue(0, 0);

   //3. 异步并发执行任务1、任务2
    dispatch_group_async(group, queue, ^{
        NSLog(@"任务1 - %@",[NSThread currentThread]);
    });
    dispatch_group_async(group, queue, ^{
        NSLog(@"任务2 - %@",[NSThread currentThread]);
    });

    //4. 等任务1、任务2都执行完毕后,在回到主线程执行任务3
    dispatch_group_notify(group, queue, ^{
        dispatch_async(dispatch_get_main_queue(), ^{
            NSLog(@"任务3 - %@",[NSThread currentThread]);
        });
    });
    
}

执行结果@2x.png

相关文章

  • iOS 底层 -多线程-队列组应用

    本文源自本人的学习记录整理与理解,其中参考阅读了部分优秀的博客和书籍,尽量以通俗简单的语句转述。引用到的地方如有遗...

  • 队列和线程

    [iOS多线程中,队列和执行的排列组合结果分析] 多线程中的队列有:串行队列,并发队列,全局队列,主队列。 执行的...

  • iOS多线程之GCD

    相关文章:iOS多线程之NSThreadiOS多线程之NSOperations 队列 队列和线程是两个不同的概念。...

  • iOS开发之GCD并发队列

    iOS开发多线程之GCDiOS开发之GCD同步任务加强iOS开发之GCD串行队列iOS开发之GCD并发队列 03 ...

  • IOS多线程

    ios中常见的多线程方案: 多线程容易混淆的术语: 多线程各种队列的执行效果: Syn 往当前的串行队列中添加任务...

  • iOS开发多线程之GCD

    iOS开发多线程之GCDiOS开发之GCD同步任务加强iOS开发之GCD串行队列iOS开发之GCD并发队列 GCD...

  • iOS开发之GCD同步任务加强

    iOS开发多线程之GCDiOS开发之GCD同步任务加强iOS开发之GCD串行队列iOS开发之GCD并发队列 004...

  • GCD练习

    GCD练习 ios 多线程 GCD : ios 多线程 全剧队列,异步执行 线程间通信 信号量 文件锁 单利模式 ...

  • iOS开发之GCD串行队列

    iOS开发多线程之GCDiOS开发之GCD同步任务加强iOS开发之GCD串行队列iOS开发之GCD并发队列 实例d...

  • 多线程02

    多线程2 GCD队列组: 基本使用: 常用函数 队列和组队列的区别 队列:封装任务,添加任务到队列 组队列:封装任...

网友评论

      本文标题:iOS 底层 -多线程-队列组应用

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