2021-05-25

主线程主队列


队列的概念和作用:

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

队列的分类:

串行队列:

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

并行队列:

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

队列和线程的关系:

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

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

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

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

主线程和主队列的关系:

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

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

否则无法更新UI

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

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

作者:小赢一场

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

来源:

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

你可能感兴趣的:(2021-05-25)