- 实例说明
线程共有六个状态,即新建、运行(可运行)、阻塞、等待、计时等待和终止。当使用new操作符创建新线程时,线程处于“新建状态”。当调用start方法时,线程处于运行(可运行)状态。当线程需要获得对象的内置锁,而该锁正被别的线程拥有时,线程处于阻塞状态。当线程等待其他线程通知调度表可以运行时,该线程处于等待状态。对于一些含有时间参数的方法,如thread的sleep()方法,可以使线程处于计时等待状态。当run方法运行完毕或出现异常时,线程处于终止状态。
- 关键技术
使用Thread类的getState()方法可以获得线程的状态,该方法的返回值是Thread.state,他是线程状态的枚举。枚举常量表如下:
枚举常量 | 含义 | 枚举常量 | 含义 |
NEW | 新建状态 | TIMED_WAITING | 休眠状态 |
RUNNABLE | 运行(可运行)状态 | WAITING | 等待状态 |
BLOCKED | 阻塞状态 | TERMINATED | 终止状态 |