状态是针对当前线程线程的调度情况描述
1.NEW
创建了Thread对象,但是还没调用start,内核还没有创建对应PCB
public static void main(String[] args){
Thread t=new thread1();
System.out.println(t.getState());
}
2.TERMINATED
内核pcb已经执行完,但是Thread对象还在,表示工作已经完成
public static void main(String[] args){
Thread t=new thread1();
t.start();
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(t.getState());
}
@Override
public void run() {
System.out.println("go");
}
3.RUNABLE
(1)正在CPU上运行
(2)在就绪序列,随时准备运行
public static void main(String[] args){
Thread t=new thread1();
t.start();
System.out.println(t.getState());
}
@Override
public void run() {
System.out.println("go");
}
4.阻塞
(1)WAITING
等待其他人通知 join/wait
(2)TIME_WAITING
Sleep等待一定的时间
(3) BLOCKED
等待锁产生阻塞