2021-05-25

主线程主队列


队列的概念和作用:

队列不是线程,队列是用来组织任务的,将任务加到队列中,任务会按照加入到队列中先后顺序依次执行,如果是同步队列,会在当前线程中执行,如果是异步队列,则操作系统会根据系统资源去创建新的线程去处理队列中的任务,线程的创建、维护和销毁由操作系统管理,系统会给我做很多优化

队列的分类:

串行队列:

按照FIFO原则,顺序执行,先加入队列中的任务先执行,一个任务一任务的顺序执行,只有等到队列中上一个任务完成,才能执行下一个任务

并行队列:

任务是按照加入到队列中的顺序开始执行,但任务完成时的顺序是不确定的

队列和线程的关系:

在一个线程内可能有多个队列,这些队列可能是串行的或者是并行的,按照同步或者异步的方式工作

异步的,则会开启新的线程工作

同步的,会在当前线程内工作,不会创建新的线程

注意:并行同步队列,不会创建新的线程而且会是顺序执行相当于串行同步队列

主线程和主队列的关系:

主队列是主线中的一个串行队列

所有的和UI的操作(刷新或者点击按钮)都必须在主线程中的主队列中去执行

否则无法更新UI

每一个应用程序只有唯一的一个主队列用来update UI

补充一点:如果在主线程中创建自定义队列(串行或者并行均可),在这个队列中执行同步任务,同样可以更新UI操作,主队列中可以更新UI,自定义队列也可以更新UI,但自定义队列的更新UI的前提是在主线程中执行同步任务

作者:小赢一场

链接:https://www.jianshu.com/p/44d84e275962

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.基本概念 Grand Central Dispatch,可以将应用需要执行的工作拆分为可分散在多个线程和多个C...
    肠粉白粥_Hoben阅读 3,101评论 0 2
  • 从哪说起呢? 单纯讲多线程编程真的不知道从哪下嘴。。 不如我直接引用一个最简单的问题,以这个作为切入点好了 在ma...
    Mr_Baymax阅读 7,797评论 1 17
  • 一.概述 1.基本概念 同步与异步的概念 同步 必须等待当前语句执行完毕,才可以执行下一个语句。 异步 不用等待当...
    Jt_Self阅读 3,362评论 0 1
  • 总结的很到位,附上版权声明: https://blog.csdn.net/wei371522/article/de...
    FMG阅读 4,795评论 0 0
  • 1. GCD 简介 2. GCD 任务和队列 3. GCD 的使用步骤 4. GCD 的基本使用(6种不同组合区别...
    疯狂的木头人阅读 3,836评论 0 1