- 线程的创建
Thread thread = new Thread();
通过new的到线程的实例,调用start方法进入‘可执行状态’
- 线程的待执行
thread.start();
现在是在JVM中创建了一个线程,没有得到CPU的调度不会执行,只是一个中间状态(线程和进程一样没有的到CPU的调度不会执行)
可进入的状态只有运行状态、意外终止两种 - 线程的运行
得到CPU的选中开始执行逻辑代码
可进入的状态:
进入终止状态:stop方法(已不推荐使用)
进入阻塞状态:sleep方法、网络数据读写、获取资源
进入待运行状态:CPU调度器轮询、主动调用yield方法 - 线程的阻塞
可进入状态:
进入终止状态:stop方法(已不推荐使用)
进入运行状态:完成指定时间休眠、被其它线程唤醒notify/notifyall、获取到资源、阻塞被打断interrupt - 线程终止
正常结束,结束生命周期
意外终止
JVM Crash 导致所有线程都结束