线程状态之间的转换及调用的方法

java线程的六种状态及转换:

线程状态 解释 调用方法 new 初始状态,创建线程 new Thread() , 调用 Thread 类的构造方法。 而这个构造方法,最终都会调用 Thread 类的 init() 方法 runnable 就绪状态(ready)(调用start,等待调度)+正在运行(running) start() 方法, 从运行到就绪调用了yield() blocked 阻塞状态,等待监视器锁时,陷入阻塞状态 waiting 等待状态的线程正在等待另一线程执行特定的操作(如notify) wait() , join() ,park() , 调用notify() ,notifyAll() , unpark(Thread) 恢复到runnable状态 time_waiting 超时等待,具有指定等待时间的等待状态 sleep(), wait() , join() terminated 终止状态, 线程完成执行

具体如下图 :

经验分享 程序员 微信小程序 职场和发展