java 线程的生命周期
Java线程的生命周期包括以下几个阶段:
-
新建状态(New):线程被创建但还没有开始执行。
-
就绪状态(Runnable):线程被创建并且已经准备好执行,但还没有得到CPU的时间片。
-
运行状态(Running):线程获得了CPU的时间片,开始执行。
-
阻塞状态(Blocked):线程因为某些原因被阻塞,无法执行,例如等待I/O操作完成、等待锁资源等。
-
等待状态(Waiting):线程等待其他线程的通知或信号,进入该状态后不会自动唤醒,需要其他线程发起通知。
-
计时等待状态(Timed Waiting):线程等待一段时间后自动唤醒,例如等待sleep()、wait()、join()等方法的时间到期。
-
终止状态(Terminated):线程执行完毕或者因为异常终止,进入该状态后不会再返回到其他状态。
以上是Java线程的生命周期,具体状态转换如下图所示:
![java线程状态转换图](https://img-blog.csdn.net/20180713201817884?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dtb3JlX2d1aWRl/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/85
原文地址: https://www.cveoy.top/t/topic/hcPF 著作权归作者所有。请勿转载和采集!