守护程序线程在jvm中终止

时间:2013-05-26 02:43:36

标签: java multithreading daemon

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

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

3 个答案:

答案 0 :(得分:3)

守护程序线程是Java线程,因此,它们将在JVM退出时死亡,与在JVM中运行的任何东西相同。 Java线程只能在JVM启动时运行。所以

  

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

是的。

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

答案 1 :(得分:2)

无论是否是守护进程,Java线程都在Java虚拟机上运行。如果虚拟机死机,其上运行的每个Java线程都会死掉,包括守护程序线程。是的,你的最后一句是正确的。

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

答案 2 :(得分:0)

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

我在YouTube video中解释了它。