线程的几种状态

品牌型号:联想拯救者Y9000P
系统:Windows 11

线程的几种状态

文章插图
线程的6种状态:
1、New新建状态:线程刚被创建 , start方法之前的状态 。
2、Runnable运行状态:得到时间片运行中状态 , Ready就绪 , 未得到时间片就绪状态 。
3、Blocked阻塞状态:如果遇到锁 , 线程就会变为阻塞状态等待另一个线程释放锁 。
4、Waiting等待状态:无限期等待 。
5、Time_Waiting超时等待状态:有明确结束时间的等待状态 。
【线程的几种状态】6、Terminated终止状态:当线程结束完成之后就会变成此状态 。
线程(英语:thread)是操作系统能够进行运算调度的最小单位 。它被包含在进程之中 , 是进程中的实际运作单位 。一条线程指的是进程中一个单一顺序的控制流 , 一个进程中可以并发多个线程 , 每条线程并行执行不同的任务 。在Unix System V及SunOS中也被称为轻量进程(lightweight processes) , 但轻量进程更多指内核线程(kernel thread) , 而把用户线程(user thread)称为线程 。
线程是独立调度和分派的基本单位 。线程可以为操作系统内核调度的内核线程 , 如Win32线程;由用户进程自行调度的用户线程 , 如Linux平台的POSIX Thread;或者由内核与用户进程 , 如Windows 7的线程 , 进行混合调度 。
同一进程中的多条线程将共享该进程中的全部系统资源 , 如虚拟地址空间 , 文件描述符和信号处理等等 。但同一进程中的多个线程有各自的调用栈(call stack) , 自己的寄存器环境(register context) , 自己的线程本地存储(thread-local storage) 。
一个进程可以有很多线程 , 每条线程并行执行不同的任务 。
在多核或多CPU , 或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见 , 即提高了程序的执行吞吐率 。在单CPU单核的计算机上 , 使用多线程技术 , 也可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行 , 编写专门的workhorse线程执行密集计算 , 从而提高了程序的执行效率 。