🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 概述 进程:正在运行的程序叫做进程. 线程:线程是进程中的一个执行单元,来完成进程中的某个功能的.一个进程至少有一个线程,一个进程可以有多个线程,这个应用程序也可以称之为多线程程序.比如迅雷中有多个任务在下载,每个任务就是一个线程. ## 程序运行原理 1. 分时调度:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间. 2. 抢占式调度:优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),java使用的为抢占式调度. ## 抢占式调度详解 大部分操作系统都支持多进程并发运行,现在的操作系统几乎都支持同事运行多个程序.实际上,CPU使用抢占式调度模式在多个进程间进行着高速的切换.对于CPU的一个核心而言,某个时刻,只能执行一个线程.而CPU在多个线程间切换速度相对我们的感觉要快,看上去就是在同一时刻运行. 其实,多线程程序并不能提高程序的运行速度,但能够提高程序运行效率(把CPU空闲的时间利用起来了 ),让CPU的使用率更高.