2013-05-26 169 views
0

我读了关于互联网守护进程线程我发现它不是终止我们JVM终止 这是否意味着我们关闭了我们的Java程序后也守护线程可以运行?守护进程线程终止于jvm

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

+1

你的问题不清楚。您可能需要再次查看Internet资源/教程。如果您仍然有特定的问题,请回来向我们展示您所指的内容。 –

回答

3

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

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

是的。

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

2

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

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

0

对我来说,守护线程就像用户线程的管家。
如果所有用户线程都完成,守护进程线程没有任何作业,并被JVM终止。

我在YouTube video中解释过。