新图闻的品牌建设经验,网站推广优化外包便宜,代做吧机械网站,企业公示信息查询系统河北文章目录 1. 线程概述1.1 线程和进程1.2 并发和并行1.3 多线程的优势1.4 程序运行原理1.5 主线程 1.6 线程的 6 种状态 1. 线程概述
1.1 线程和进程
进程是处于运行过程中的程序#xff0c;并且具有一定的独立功能#xff0c;进程是系统进行资源分配和调度的一个独立单位… 文章目录 1. 线程概述1.1 线程和进程1.2 并发和并行1.3 多线程的优势1.4 程序运行原理1.5 主线程 1.6 线程的 6 种状态 1. 线程概述
1.1 线程和进程
进程是处于运行过程中的程序并且具有一定的独立功能进程是系统进行资源分配和调度的一个独立单位。
线程也被称为轻量级进程线程是进程的组成部分一个进程可以拥有多个线程一个线程必须有一个父进程。线程可以拥有自己的堆栈、自己的程序计数器和自己的局部变量但不拥有系统资源它与父进程的其它线程共享该进程所拥有的全部资源。一个线程可以创建和撤销另一个线程同一个进程中的多个线程之间可以并发执行。
1.2 并发和并行
并行指在同一时刻有多条指令在多个处理器上同时执行并发指在同一时刻只能有一条指令执行但多个进程指令被快速轮换执行使得在宏观上具有多个进程同时执行的效果。
1.3 多线程的优势
1进程之间不能共享内存但线程之间共享内存却非常容易。
2系统创建进程时需要为该进程重新分配系统资源但创建线程代价小得多因此使用多线程来实现多任务并发比多进程的效率高。
3java语言内置了多线程功能支持而不是单纯地作为底层操作系统的调度方式从而简化了java的多线程编程。
1.4 程序运行原理
分时调度
所有线程轮流使用 CPU 的使用权平均分配每个线程占用 CPU 的时间。
抢占式调度
优先让优先级高的线程使用 CPU如果线程的优先级相同那么会随机选择一个(线程随机性)Java使用的为抢占式调度。
1.5 主线程
jvm启动后必然有一个执行路径(线程)从main方法开始的一直执行到main方法结束这个线程在java中称之为主线程。当程序的主线程执行时如果遇到了循环而导致程序在指定位置停留时间过长则无法马上执行下面的程序需要等待循环结束后能够执行。
1.6 线程的 6 种状态
就像生物从出生到长大、最终死亡的过程一样线程也有自己的生命周期在 Java 中线程的生命周期中一共有 6 种状态。 New新创建 Runnable可运行 Blocked被阻塞 Waiting等待 Timed Waiting计时等待 Terminated被终止
如果想要确定线程当前的状态可以通过 getState() 方法并且线程在任何时刻只可能处于 1 种状态。
运行状态可能会有阻塞