Java守护程序线程在父级退出时会自动终止吗?

时间:2009-05-18 20:40:46

标签: java multithreading

如果一个线程创建一个守护进程线程,我可以依赖这样一个事实:当父进退出run方法时,儿子也会终止吗?

3 个答案:

答案 0 :(得分:9)

不 - 线程是独立的。没有任何一个线程“拥有”另一个线程并强制终止。

如果您确实询问应用程序中的所有非守护程序线程何时死亡,您可以依赖该进程死亡:是的,您可以。但那可以依赖所有

特别是,如果有两个非守护程序线程,其中每个都创建了一个守护程序线程,并且非守护程序线程的一个终止,则剩余的三个线程将继续运行。

答案 1 :(得分:1)

我相信守护程序线程绑定到JVM而不是创建线程。

答案 2 :(得分:0)

自: http://journals.ecs.soton.ac.uk/java/tutorial/java/threads/daemon.html

当进程中唯一剩余的线程是守护程序线程时,解释器退出。这是有道理的,因为当只剩下守护程序线程时,没有其他线程,守护程序线程可以为其提供服务。