线程状态观测

发布时间 2023-11-27 10:04:50作者: 同学?

Thread.State
线程状态。线程可以处于以下状态之一:
new
尚未启动的线程处于此状态
runnable
在Java虚拟机中执行的线程处于此状态
blocked
被阻塞等待监视器锁定的线程处于此状态
waiting
正在等待另一个线程执行特定动作的线程处于此状态
timed_waiting
正在等待另一个线程执行动作达到指定等待时间的线程处于此状态
terminated
已退出的线程处于此状态
一个线程可以在给定时间点处于一个状态,这些状态是不反应任何操作系统线程状态的虚拟状态


线程状态示意图
new。thread t=new thread()线程对象一旦创建就进入到了新生状态 >
就绪状态。当调用start()方法,线程立即进入就绪状态,但不意味着立刻调度执行>(调度)
运行状态/阻塞状态
进入运行状态,线程才真正执行线程体的代码块/
当调用sleep,wait或同步锁定时,线程进入阻塞状态,就是代码不往下执行,阻塞事件解决后,重新进入就绪状态,等待cpu调度执行