基本概念

上面是调用线程的状态图

新建状态(new):线程被创建后就会进入新建状态,如 Thread t = new Thread()

就绪状态(runnable):也叫可执行状态,当线程调用了start()方法后启动该线程,而改线程随时可能被cpu调度执行

运行状态(running):线程获取到cpu进行执行,线程智能从就绪状态进入到运行状态

阻塞状态(blocked):阻塞状态是由于某种原因线程放弃了cpu使用权,暂时停止运行

1,等待阻塞:通过调用wait()方法让线程等待某项工作完成

2,同步阻塞:线程获取synchronized同步锁失败(该锁被其他线程占用)会进入同步阻塞

3,其他阻塞:通过调用sleep()或jion()或发出io请求时会进入阻塞状态,当sleep(),jion()处理完成或者超时时会重新进入就绪状态

死亡状态(dead):线程执行完毕或因异常退出了run()方法,结束生命周期

转自:http://www.cnblogs.com/skywang12345/p/3479024.html

原文地址:https://www.cnblogs.com/zmblog/p/8668253.html