首页 > 移动平台 > 详细

iOS多线程的七大对象理解

时间:2017-01-22 11:54:32      阅读:478      评论:0      收藏:0      [点我收藏+]

  iOS多线程里,这七个对象,1进程,2线程,3同步函数,4异步函数,5并行队列,6串行队列,7主线程主队列

  可以说是几个非常核心的概念,动代码之前,理解这几个概念的区别和联系是非常重要的

@2017-1月

 1用面向对象的观点去理解,进程和线程,同步和异步,并行和串行,还有主线程的主队列,七者关系

  进程:程序不运行时就是一堆代码,运行时就是一堆的进程的组合,进程是程序运行的基本单位。

  线程:线程是进程的构建对象,

  同步:不开新线程,一个任务接一个任务执行 (使用syn函数,一个人做事)

  异步:开新线程,多个线程分别做不同的任务   (使用asyn函数,多人做事)

  串行:串行要用串行队列,

          1如果同步串行,没有开启新线程,串行执行任务

          2如果异步串行,开启了新线程,串行执行任务

          规律:串行队列永远是串行执行,如果异步只是开了个新线程而已,不过也达到了分任务作用。

  并行:并行最好用全局并行队列

          1如果同步并行, 没有开启新线程,串行执行任务

          2如果异步并行,有开启新线程,并行执行任务

          规律:并行只有使用异步操作才能实现并行,否则白搭。

  主队列:

         1如果同步执行,会死锁 (和主线程自己的任务死锁了,cpu不知道该选谁进行执行了)

         2如果异步执行,没有开启新线程,串行执行任务,但是会等到主线程空闲时执行耗时任务,也达到了分任务作用

          特点:1不会造成UI卡顿,因为不是让耗时任务,去抢UI操作的资源,而是等主线程其他所有事做完了,

                     比如UI操作,再去执行耗时任务,比如网络请求这些活。

 

  2进程包含线程,线程包含队列 (串行队列,并发队列)

  

  

iOS多线程的七大对象理解

原文:http://www.cnblogs.com/dzq1991/p/6339633.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!