线程的生命周期

2021-01-28  本文已影响0人  DOB_8199

Thread.State

State中的几种状态

线程状态如何进行切换

线程的生命周期

等待阻塞:运行状态中的线程执行wait()方法,使本线程进入到等待阻塞状态;

同步阻塞:线程在获取synchronized同步锁失败(因为锁被其它线程占用),它会进入到同步阻塞状态;

其他阻塞:通过调用线程的sleep()或join()或发出I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态;

在阻塞状态的线程只能进入就绪状态,无法直接进入运行状态。而就绪和运行状态之间的转换通常不受程序控制,而是由系统线程调度所决定。当处于就绪状态的线程获得处理器资源时,该线程进入运行状态;当处于运行状态的线程失去处理器资源时,该线程进入就绪状态

但有一个方法例外,调用yield()方法可以让运行状态的线程转入就绪状态

更多详细资料:

https://juejin.cn/post/6844903558433734669

上一篇 下一篇

猜你喜欢

热点阅读