美文网首页
iOS 进程&线程&多线程

iOS 进程&线程&多线程

作者: Q2我没有疯 | 来源:发表于2019-03-21 23:35 被阅读0次

进程

  • 进程是在系统中正在运行的一个应用程序
  • 每个进程之间是独立的,每个进程皆运行在其专用且受保护的内存空间内
  • 一个应用程序可能对应多个进程。

线程

  • 一个进程如果想要执行任务,必须得有一个线程(一个进程至少得有一条线程)
  • 一个进程的所有任务都在线程中执行

线程的串行

  • 如果要在一个线程中执行多个任务,那么只能一个一个的按顺序执行任务,同一时间内一个线程只能执行一个任务。

多线程

  • 一个进程中可以开启多条线程,每条线程可以(同时)执行不同的任务
  • 原理:同意时间CPU只能处理1条线程,只有一条线程在工作,多线程并发执行时,其实是在CPU之间切换。
  • 注意:如果线程太多,CPU在多条线程之间切换,会消耗大量的CPU资源(通常3~5条线程就可以了)。
  • 优点:能适当提高程序的执行效率,提高资源的利用率。
  • 缺点:线程越多,会降低程序的性能

多线程的应用

什么是主线程

  • 一个iOS程序运行之后,会默认开启一条线程,称为主线程(UI线程)
  • 作用:
    • 显示/刷新UI界面
    • 处理UI事件(比如点击事件,拖拽滚动...)
  • 注意:
    • 耗时操作不应该放在主线程,因为耗时操作会卡住主线程会影响UI流畅度,会有一种卡顿的感觉(应该将耗时操作放到子线程「后台线程、非主线程」当中)。

相关文章

网友评论

      本文标题:iOS 进程&线程&多线程

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