多线程

作者: Slumbers | 来源:发表于2016-06-24 22:34 被阅读23次
    • 有效提升程序运行效率的手段之一(另外,还有优化算法、提高硬件配置、分布式计算等等)

    • 线程是程序最小执行单位

    • 一个程序有更多的线程,那么这个程序获得CPU的几率越高,获得的时间越多,执行速度也会越快

    • 获取CPU的专业术语叫获得时间片,CPU把所有时间分成若干个小片,把每个小片不断地分给不同的线程执行,保证每个程序都有机会执行,不会有程序一直霸占CPU

    • 多线程程序的核心是开启更多的线程,获取更多的CPU时间片,让程序更快完成

    • 操作系统本身的设计就是多线程,其中至少有两个线程,一个叫主线程,另一个叫工作者线程,主线程一般用来绘制界面,响应用户操作,最好不要被应用程序打扰,工作者线程用来运算或者完成逻辑,将一些结果反馈给主线程,从而展示不同的用户界面和逻辑

      • 下载器(迅雷、旋风、浏览器自带的下载)
      • 后台的服务器系统(一个用户访问的时候,占用CPU,其他用户一样可以访问)
      • 任何一个app,启动的时候也是多线程,有的线程可能在加载新模块,有的在做上报,有的在收集lbs信息
    • 多线程,两层含义:

      1. 开启多个线程做不同的事情,为了并发同时做很多事情;
      2. 开启多个线程做同一个事情,为了效率更高;
    • 弊端

      • 多个线程时序不好控制
      • 多个线程之间的共享变量控制难度比较大
      • 通知机制复杂,调试困难

    相关文章

      网友评论

          本文标题:多线程

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