Thread包括以下状态
- New:线程new之后,进入New状态
- Runnable:线程调用start方法之后,进入Runnable状态
- Running:线程获得CPU资源开始执行,进入Running状态
- Blocked:线程调用了wait,sleep,join或无法进入sychronized同步块时,进入Blocked状态
- Dead:线程执行完毕,进入Dead状态
Java中有个Thread.State类,也表示线程状态,但不和以上规则完全对应
- Thread.State.NEW:new之后
- Thread.State.RUNNABLE:调用start之后,可能已经执行了,也可能未获得CPU资源
- Thread.State.BLOCKED:被sychronized同步块阻塞住
- Thread.State.WAITING:调用了wait方法等待
- Thread.State.TIMED_WAITING:调用了带time的wait方法等待
- Thread.State.TERMINATED:执行完毕