我在互联网上阅读了有关守护程序线程的信息,我发现它也没有终止我们 JVM 终止这是否意味着在我们关闭我们的 java 程序后,守护程序线程也可以运行?
“Java VM 退出时守护线程死亡”是否正确?
我在互联网上阅读了有关守护程序线程的信息,我发现它也没有终止我们 JVM 终止这是否意味着在我们关闭我们的 java 程序后,守护程序线程也可以运行?
“Java VM 退出时守护线程死亡”是否正确?
守护线程是 Java 线程,因此,它们会在 JVM 退出时死掉,就像在 JVM 中运行的任何东西一样。Java 线程只能在 JVM 启动时运行。所以
“Java VM 退出时守护线程死亡”是否正确?
是的。
守护线程和非守护线程的区别在于,只要还有非守护线程在运行,JVM就会一直运行。一旦没有更多的非守护线程在运行,JVM 就会退出,无论有多少守护线程仍在运行。
无论是不是守护进程,Java 线程都运行在 Java 虚拟机上。如果虚拟机死了,在它上面运行的每个 Java 线程都会随之死去,包括守护线程。所以是的,你的最后一句话是正确的。
守护线程的特别之处在于,当只有守护线程在运行时,JVM 会关闭,就好像根本没有任何线程在运行一样。
对我来说,守护线程就像是用户线程的管家。
如果所有用户线程都已完成,则守护线程没有作业并被 JVM 杀死。
我在YouTube 视频中解释了它。