美文网首页
GCD四大队列

GCD四大队列

作者: 昵称已经被使用换个别的 | 来源:发表于2020-04-20 17:48 被阅读0次

一.队列

原则:队列先进先出原则

1.串行队列

串行队列:放到该队列上的任务,在子线程中串行执行

dispatch_queue_create 创建串行队列

参数1:队列的标示,一般是公司域名倒写

参数2:队列的类型,NULL代表串行队列,DISPATCH_QUEUE_SERIAL代表串行队列 DISPATCH_QUEUE_CONCURRENT代表并行队列

dispatch_queue_t serailQueue= dispatch_queue_create("com.queue.serialQueue", DISPATCH_QUEUE_SERIAL);

①串行队列 同步任务

特点:有顺序执行,不开辟线程

应用场景:FMDB,同步任务,保证数据安全

②串行队列 异步任务

特点:有顺序执行,并且在开辟的线程中执行,并且之开辟一条线程!

应用场景:耗时操作,有严格操作顺序,比如付费网站下载图片(登录->付费->下载)

2.并发队列

并发队列,必须自己写,不能写NULL

dispatch_queue_t concurrentQueue=  dispatch_queue_create("com.queue.concurrentQueue", DISPATCH_QUEUE_CONCURRENT);

①并发队列,同步任务

特点:没有开辟新线程,同时是按照顺序

应用场景:开发中几乎不用

②并发队列,异步任务

特点:会开线程,开N条,表示不固定,因为我们的线程循环利用的功能 没有顺序.

应用场景:比如下载多部片

3.全局队列和并发队列,执行效果一样,只是说,并发队列,需要我们程序员,自己创建,而全局队列,是由于系统提供

特点:任务可以同时执行,这样可以提高程序的运行效率.

①全局队列,同步任务

特点:没有开辟新线程,同时是按照顺序

应用场景:开发中几乎不用

②全局队列,异步任务

特点:会开线程,开N条,表示不固定,因为我们的线程循环利用的功能 没有顺序.

应用场景:比如下载多部片

4.主队列

特点:它永远在主线程工作,这个是苹果给开发人员提供回到主线程做事的一种机制

①主队列,同步任务 特点:主队列,只有在主线程空闲的时候,才能调度里面的任务 造成死锁

②主队列,异步任务 应用场景:回到主线程做事,一般是做和UI相关的工作.

总结:任务的优先级比队列优先级高,所以我们在队列和任务的各种组合的时候,首先要看我们的任务.

开不开线程,由任务决定

⭕️异步才有开辟线程的能力,同步没有开辟线程的能力

⭕️异步是在其它线程上执行,同步是在当前线程上执行

相关文章

  • GCD队列、同步异步

    GCD队列、同步异步 GCD队列、同步异步

  • GCD的学习笔记(One)

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

  • 2021--- GCD

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

  • iOS多线程--GCD篇

    GCD 文章目录GCD简介任务和队列GCD的使用步骤队列的创建方法任务的创建方法GCD的基本使用并行队列 + 同步...

  • GCD串行并发队列

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

  • GCD相关知识总结

    一:GCD的队列简介 GCD的Queue有三大队列类型:主队列(main)、全局队列(global)、用户队列(c...

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

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

  • 关于多线程GCD 串行/并行、同步/异步

    一、GCD串行/并行队列创建 串行队列: 并行队列: 二、GCD串行/并行队列同步/异步执行 执行内容1: 执行结...

  • iOS多线程--彻底学会多线程之『GCD』

    GCD 文章目录 GCD简介 任务和队列 GCD的使用步骤 队列的创建方法 任务的创建方法 GCD的基本使用 并行...

  • iOS GCD

    GCD 简介 GCD 任务和队列 GCD 的使用步骤 GCD 的基本使用(六种组合不同区别,队列嵌套情况区别,相互...

网友评论

      本文标题:GCD四大队列

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