java - Java中线程的生命周期是怎样的?

标签 java multithreading lifecycle

在java中我们创建线程对象时

Thread t1 = new Thread(Runnable object);
t1.start();

线程t1的生​​命周期有哪些不同阶段,执行run()t1的状态是什么?

最佳答案

线程在其生命周期中经历各个阶段。例如,一个线程诞生、启动、运行,然后消亡。下图展示了线程的完整生命周期。

enter image description here

Java 线程 上述阶段的解释如下:

新:新线程在新状态下开始其生命周期。它保持这种状态直到程序启动线程。它也称为天生线程。

Runnable:新诞生的线程启动后,该线程就变为可运行的。处于这种状态的线程被认为正在执行其任务。

等待: 有时,一个线程在等待另一个线程执行任务时会转换到等待状态。仅当另一个线程向等待线程发出信号时,该线程才会转换回可运行状态。继续执行。

定时等待:可运行线程可以在指定的时间间隔内进入定时等待状态。当该时间间隔到期或它正在等待的事件发生时,处于此状态的线程将转换回可运行状态。

终止(死亡):可运行线程在完成其任务或以其他方式终止时进入终止状态。

来源:http://www.tutorialspoint.com/java/java_multithreading.htm

关于java - Java中线程的生命周期是怎样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36425942/

相关文章:

java - jOOQ 从连接表中返回一个 POJO 和 ID

java - 通过 cucumber 时没有得到结果。尝试实现BDD

java - 重复号码检查并不总是有效

Python 线程。如何锁定线程?

java - SpinLock 可扩展性和限制

version-control - 使用 Subversion 和 SharePoint 帮助进行配置管理

Android Activity-Lifecycle...如何避免 onDestroy()?

java - 从 Java 源代码创建 DEX 文件

multithreading - 我如何才能创建在完成时产生结果的工作?

kotlin - Kotlin 中构造函数参数的生命周期