1.线程状态和含义
1.NEW: 安排了工作, 还未开始行动
2.RUNNABLE: 可工作的. 又可以分成正在工作中和即将开始工作.
3.BLOCKED: 这几个都表示排队等着其他事情
4.WAITING: 这几个都表示排队等着其他事情
5.TIMED_WAITING: 这几个都表示排队等着其他事情
6.TERMINATED: 工作完成了.
2.线程状态之间的转换
1.NEW状态-RUNNABLE状态
调用线程的start方法,该线程进入可运行线程池中,获取到CPU之后就可以运行。
2.RUNNABLE状态-NEW状态
时间片用完了,或者调用了yield方法。
3.RUNNABLE状态-BLOCKED状态
调用sleep,join,wait,或者I/O请求。
4.BLOCKED状态-RUNNABLE状态
sleep,join,wait,I/O结束。
5.RUNNABLE状态-TERMINATED状态
线程执行结束,或者因为异常退出run方法。