06 GCD 并发队列

作者: CC老师_HelloCoder | 来源:发表于2017-09-04 20:04 被阅读407次

03 GCD-并发队列

并发队列,异步执行

MARK:并发队列,异步执行
-(void)gcdDemo3{
    
    //1.队列-并发 DISPATCH_QUEUE_CONCURRENT 并发
    dispatch_queue_t  q = dispatch_queue_create("cc_queue",DISPATCH_QUEUE_CONCURRENT);
        
   //2.异步执行任务
   for(int i = 0;i < 10;i++)
   {
    dispatch_async(q,^{
    NSLog(@"%@ %d",[NSThread currentThread],i);
    });
   }
        
    NSLog(@"come here");

}

问题:
1.会开几条线程?
会开多条线程,线程数量是由GCD来决定
2.会顺序执行吗?
不会
3.come here的位置?
不确定,一般会靠上的位置

看起来任务执行的是顺序的。是因为线程的耗时差不多。最重要原因是,线程取任务是顺序取的。

并发队列,同步执行

MARK:并发队列,同步执行
-(void)gcdDemo4{
    
    //1.队列-并发 DISPATCH_QUEUE_CONCURRENT 并发
    dispatch_queue_t  q = dispatch_queue_create("cc_queue",DISPATCH_QUEUE_CONCURRENT);
        
   //2.同步执行任务
   for(int i = 0;i < 10;i++)
   {
    dispatch_sync(q,^{
    NSLog(@"%@ %d",[NSThread currentThread],i);
    });
   }
        
    NSLog(@"come here");

}

问题:
1.会开几条线程?
不会
2.会顺序执行吗?
顺序
3.come here的位置?
最后

对比串行队列同步任务 和 并发队列同步任务

  • 2者之间的结果是一样的。只要同步执行,不管是串行还是并行都是 一样的。

同步执行:不会到线程池里面去获取子线程
异步执行:只要有任务,就会到线程池取子线程(主队列除外)

mainQueue是顺序执行

小结

  • 开不开线程,取决去任务的函数,同步不开,异步才能开;
  • 开几条线程,取决于队列,串行开一条,并发可以开多条(异步执行)

相关文章

  • GCD队列使用

    使用GCD前,先对队列总结一下: 串行和并发 GCD中队列分为两种:串行队列、并发队列。串行队列:任务按在队列里的...

  • 2021--- GCD

    gcd同步,异步,串行队列,并发队列,全局队列,主队列,以及死锁。 1、gcd队列阻塞问题[https://www...

  • GCD的学习笔记(One)

    并行和并发 GCD简介 GCD的任务 GCD的队列 GCD创建队列或获取队列的方法 任务的执行方式:同步执行(同步...

  • 06 GCD 并发队列

    03 GCD-并发队列 并发队列,异步执行 问题:1.会开几条线程?会开多条线程,线程数量是由GCD来决定2.会顺...

  • GCD串行并发队列

    学习完本篇,您会对以下知识点更加理解: 队列 串行队列 并发队列 GCD全局队列 GCD主队列 创建串行队列 创建...

  • iOS开发多线程之GCD

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

  • 7.多线程基础(七)GCD加强

    1.GCD串行队列和并发队列 2.GCD延时执行 3.GCD线程组:(的作用) 4.GCD定时器: GCD的实现 ...

  • iOS多线程梳理-GCD(3)

    上一篇 iOS多线程梳理-GCD死锁 GCD栅栏函数 仅在自己创建的并发队列上有效,在全局(Global)并发队列...

  • 06进阶之路-多线程管理

    1. GCD相关 学习链接 GCD 简介 (多核编程管理线程) GCD 任务和队列(同步和异步任务 并发和串行队列...

  • iOS开发之GCD并发队列

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

网友评论

    本文标题:06 GCD 并发队列

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