查看线程的运行状态

时间:2023-01-24 18:01:52
  • 实例说明

  线程共有六个状态,即新建、运行(可运行)、阻塞、等待、计时等待和终止。当使用new操作符创建新线程时,线程处于“新建状态”。当调用start方法时,线程处于运行(可运行)状态。当线程需要获得对象的内置锁,而该锁正被别的线程拥有时,线程处于阻塞状态。当线程等待其他线程通知调度表可以运行时,该线程处于等待状态。对于一些含有时间参数的方法,如thread的sleep()方法,可以使线程处于计时等待状态。当run方法运行完毕或出现异常时,线程处于终止状态。

  • 关键技术

  使用Thread类的getState()方法可以获得线程的状态,该方法的返回值是Thread.state,他是线程状态的枚举。枚举常量表如下:

Thread.state的枚举常量说明
枚举常量 含义 枚举常量 含义
NEW 新建状态 TIMED_WAITING 休眠状态
RUNNABLE 运行(可运行)状态 WAITING 等待状态
BLOCKED 阻塞状态 TERMINATED 终止状态