1、多线程和单线程
多线程即一个程序中有多个线程在同时执行,单线程和多线程:
-
单线程:若有多个任务,只有当上一个任务执行结束后,下一个任务才开始执行
-
多线程:若有多个任务,可以同时执行
2、程序执行原理
在操作系统中,有很多种调度方式,这里介
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
绍分时调度和抢占式调度,在Java中使用的是抢占式调度,所以主要介绍抢占式调度方式
-
分时调度:所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间
-
抢占式调度:每个线程都有其优先级,优先让优先级高的进程使用 CPU,如果线程优先级相同,则会随机选择去执行
(1) CPU 使用抢占式调度模式在多个线程间进行着高速的切换
(2) 对于 CPU 的一个核而言,某个时刻只能执行一个线程,而 CPU 在多个线程间切换速度相对我们的感觉要快,看上去就是在同一时刻执行
(3) 多线程程序并不能提高程序的运行速度,但能提高程序运行效率,让 CPU 的使用率更高
3、主线程
Java程序在执行过程中,先启动 JVM,并加载对应的 class 文件,JVM