1.Java线程状态
可以分为以下几种状态:
1.新建状态: 刚创建Thread对象。
2.就绪状态: 调用了Thread.start()方法,一切资源已经获取,只等待获取CPU执行。
3.运行状态: 获取CPU执行。
4.死亡状态: 线程已经执行结束生命周期。
5.阻塞状态: 还没获取足够的资源。
阻塞的情况分三种:
- (01) 等待阻塞 -- 通过调用线程的wait()方法,让线程等待某工作的完成。
- (02) 同步阻塞 -- 线程在获取synchronized同步锁失败(因为锁被其它线程所占用),它会进入同步阻塞状态。
- (03) 其他阻塞 -- 通过调用线程的sleep()或join()或发出了I/O请求时,线程会进入到阻塞状态。当sleep()状态超时、join()等待线程终止或者超时、或者I/O处理完毕时,线程重新转入就绪状态。
2.Java线程池状态(盗图)
1.Running: