教程中心 / Java教程 / 线程生命周期

线程生命周期

8分钟 多线程

线程六种状态

NEW
RUNNABLE
TERMINATED
BLOCKED
WAITING
TIMED_WAITING

状态说明

状态说明进入方式
NEW创建未启动new Thread()
RUNNABLE正在JVM运行start()
BLOCKED等待锁synchronized
WAITING无限期等待wait()/join()
TIMED_WAITING限期等待sleep()/join(timeout)
TERMINATED执行完毕run()结束

获取线程状态

 Thread t = new Thread(() -> {
    System.out.println("Running");
});
System.out.println(t.getState());
t.start();
System.out.println(t.getState()); 

小结

  • 线程有六种状态:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED
  • sleep()进入TIMED_WAITING
  • wait()进入WAITING
  • synchronized未获得锁时进入BLOCKED
☕ Java 在线代码编辑器
📝 运行结果