线程有哪些状态?
- 新建(NEW):新建线程对象,未调用 start 方法
- 可运行(RUNNABLE):线程对象创建后,被调用 start 方法。此状态的线程位于可运行线程池中,等待获取 CPU 的使用权
- 运行中(RUNNING):线程获取了 CPU 的使用权,执行程序代码
- 阻塞(BLOCKED):线程因为某种原因放弃了 CPU 的使用权,暂时停止运行,直到线程进入可运行状态,才有机会再次获取 CPU 的使用权进入运行状态
- 消亡(DEAD):线程已经执行完毕。主线程 main 方法结束或因异常退出;子线程 run 方法结束或因异常退出
详细可参考:
https://blog.youkuaiyun.com/tongxuexie/article/details/80145663
https://blog.youkuaiyun.com/xingjing1226/article/details/81977129
https://blog.youkuaiyun.com/pange1991/article/details/53860651
【Java面试题与答案】整理推荐