多线程

  • 有效提升程序运行效率的手段之一(另外,还有优化算法、提高硬件配置、分布式计算等等)

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

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

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

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

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

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

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

    • 多个线程时序不好控制
    • 多个线程之间的共享变量控制难度比较大
    • 通知机制复杂,调试困难
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容