线程的六种状态
六种状态定义:java.lang.Thread.State

1、新建状态:线程对象创建了但是没有调用start()方法。
2、可运行状态(Runnable)
Running(运行中状态):被调用器(scheduler)调度,CUP正在执行
Ready(就绪状态):等待调度器调度
Ready→调度器选中→Running
Running→调度器切换 | yeild()方法→Ready
3、无限等待状态(Waiting)
Runnable→wait()方法 | join()方法→Waiting
Waiting→notify()方法 | notifyAll()方法→Runnable
4、超时等待状态(Timed_Waiting)
Runnable→sleep(long millis) | wait(long millis) | join(long millis)→Timed_Waiting
Timed_Waiting→等待时间结束 | notify() | notifyAll()→Runnable
5、阻塞状态(Blocked)
被监视器锁监视的线程,没有获得同步锁的被阻塞
Runnable→没有获取锁→阻塞
阻塞→获取锁对象→Runnbale
6、Terminated(终止)
Runnable→任务方法执行完毕 | 发生异常→Terminated

浙公网安备 33010602011771号