0

我在互联网上阅读了有关守护程序线程的信息,我发现它也没有终止我们 JVM 终止这是否意味着在我们关闭我们的 java 程序后,守护程序线程也可以运行?

“Java VM 退出时守护线程死亡”是否正确?

4

3 回答 3

3

守护线程是 Java 线程,因此,它们会在 JVM 退出时死掉,就像在 JVM 中运行的任何东西一样。Java 线程只能在 JVM 启动时运行。所以

“Java VM 退出时守护线程死亡”是否正确?

是的。

守护线程和非守护线程的区别在于,只要还有非守护线程在运行,JVM就会一直运行。一旦没有更多的非守护线程在运行,JVM 就会退出,无论有多少守护线程仍在运行。

于 2013-05-26T03:03:10.157 回答
2

无论是不是守护进程,Java 线程都运行在 Java 虚拟机上。如果虚拟机死了,在它上面运行的每个 Java 线程都会随之死去,包括守护线程。所以是的,你的最后一句话是正确的。

守护线程的特别之处在于,当只有守护线程在运行时,JVM 会关闭,就好像根本没有任何线程在运行一样。

于 2013-05-26T03:03:05.297 回答
0

对我来说,守护线程就像是用户线程的管家。
如果所有用户线程都已完成,则守护线程没有作业并被 JVM 杀死。

我在YouTube 视频中解释了它。

于 2016-03-28T13:57:18.827 回答