Java 1.8的API也严格说明了线程的几种状态:
这里的NEW 状态说的是,这个线程还没有启动。对应我们下图的创建状态。
RUNNABLE:线程已经正在执行或者将要执行(都在JVM),对应下图的就绪和运行状态。
BLOCKED:等待监视锁,处于阻塞状态。对应下图的阻塞状态。比如synchronized
WAITING: 无限期的等待其他线程执行特定的操作。比如:线程调用Join()方法。
TIMED_WAITING:等待其他线程执行任务,只不过有时间限制,并且是一个指定的时间。比如:sleep(),并指定休眠时间