线程的状态共分为五大类:新建、可运行、运行、死亡、等待/阻塞/睡眠
借用一张图说明
- 新建(NEW):新建一个线程对象,但还没调用start()方法
- 可运行(runable):该线程位于可运行线程池中,变得可运行,等待获取cpu使用权
- 运行(running):可运行状态的线程获取cpu使用权,执行代码
- 阻塞状态(blocked):阻塞状态是因为线程因某种原因放弃cpu使用权,暂时停止运行。直到线程进去可运行状态,才有机会转成运行状态
- 死亡(dead):线程执行完或因某种原因退出run()方法,线程的生命周期结束