线程的生命周期和状态(6种)
线程创建后会处于新建状态,调用 start() 方法后处于可运行状态,可运行状态的线程获得CPU时间片后就处于 Runnable 运行状态。当线程执行 wait() 方法后进入 WAITING 等待状态,而 TIME_WAITING 超时等待状态相当于在等待状态的基础上增加了超时限制,比如通过 sleep 或 wait 方法可以将线程置于超时等待状态。当超时时间到达后,线程会返回到 Runnable 状态。线程调用同步方法时,如果没有获取到锁,就会进入 BLOCKED 阻塞状态。线程运行 run 方法执行完毕后会进入 TERMINATED 终止状态。