美文网首页
(YQ)进程和线程不得不说的事

(YQ)进程和线程不得不说的事

作者: LuckTime | 来源:发表于2016-06-20 16:14 被阅读16次
   进程:通常指系统中正在运行的一个应用程序。通俗来讲,进程是线程的容器。比如打开win的任务管理器。正在运行的QQ,360,网易云音乐都是一个进程。
   线程:线程是进程的最小执行单位,一个进程最少有一个线程。比如网易云音乐的下载歌曲,缓存视频都是一个线程。
    

    线程的串行和并行
    一个线程的执行任务是串行的。 就像每个窗口排队取钱,需要完成,才能下一个人进行取钱(同一时间内,只有一个线程在运行)。
    线程的并发性,由于一个程序的串行不能很好地利用cpu资源,而采用了多线程的方法。还比如取钱,一个银行会有多个柜台进行存取。这样巧妙的利用资源。
    
     多线程并发性的原理
     同一时间,CPU只能处理1条线程,只有1条线程在工作(执行)
     多线程并发(同时)执行,其实是CPU快速地在多条线程之间调度(切换)
     如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象
     思考:如果线程非常非常多,会发生什么情况?
     CPU会在N多线程之间调度,CPU会累死,消耗大量的CPU资源
     每条线程被调度执行的频次会降低(线程的执行效率降低)


    线程的优缺点

多线程的优点
能适当提高程序的执行效率
能适当提高资源利用率(CPU、内存利用率)
多线程的缺点
开启线程需要占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB),如果开启大量的线程,会占用大量的内存空间,降低程序的性能
线程越多,CPU在调度线程上的开销就越大
程序设计更加复杂:比如线程之间的通信、多线程的数据共享
4.多线程在iOS开发中的应用
主线程:一个iOS程序运行后,默认会开启1条线程,称为“主线程”或“UI线程”
主线程的主要作用
显示\刷新UI界面
处理UI事件(比如点击事件、滚动事件、拖拽事件等)

主线程的使用注意:别将比较耗时的操作放到主线程中。
耗时操作会卡住主线程,严重影响UI的流畅度,给用户一种“卡”的坏体验

相关文章

  • (YQ)进程和线程不得不说的事

    多线程的优点能适当提高程序的执行效率能适当提高资源利用率(CPU、内存利用率)多线程的缺点开启线程需要占用一定的内...

  • 多线程 -- GCD

    说到多线程,不得不说说进程与线程, 进程: 每一个在系统上运行的应用程序就是一个进程 线程: 每一个进程需要执行任...

  • JAVA中的多线程操作详细剖析

    一,前提 一说到多线程,就不得不提进程,线程,程序的概念: 先说进程,一说到进程,就不能不说一下程序,程序是指令和...

  • Python:进程与线程

    什么是进程,什么是线程,进程和线程的关系这里就不说了,直接讲将Python中如何创建多进程与多线程吧。 多进程 U...

  • 线程和进程概念

    线程和进程 进程 线程 线程和进程的区别

  • 并发编程(1)

    什么是并发?回答一:要说并发就不得不说多线程,线程是进程中的一个执行流程。当我们运行一个程序的时候,其所属进程中至...

  • OC-底层原理 23:多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程 和 进程 线程和进程的定义 线程 线程时进程...

  • iOS 多线程原理

    本文的目的在于了解进程、线程、多线程、线程池等的基本概念及原理 线程 和 进程 线程和进程的定义 线程 线程时进程...

  • 线程

    线程和进程 进程 线程 线程和进程的区别 线程的好处和坏处 创建线程的方式一 线程中常用的方法 代码实例 创建线程...

  • 17_多线程

    =================线程和进程 =============进程 =============线程 ==...

网友评论

      本文标题:(YQ)进程和线程不得不说的事

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