使用转换用户线程 - >守护程序线程

sgo*_*les 4 java multithreading daemon

我读过,守护程序线程由JVM使用和控制.JVM创建它们并监视它们的终止.用户线程由用户控制.还有人说,我们可以通过调用setDaemon()方法将用户线程转换为守护进程线程.

但是,what is the use of such conversion?一旦JVM成为dameon线程,JVM是否会控制用户线程?

如果我错过了什么,请告诉我.

谢谢.

duf*_*ymo 7

我相信用户和守护程序线程总是在JVM的控制之下.(如果不是这样,谁将负责?)

这是区别(来自http://www.xyzws.com/javafaq/what-is-difference-between-user-and-daemon-thread-in-java/196):

这两种类型的线程之间的区别很简单:如果Java运行时确定应用程序中运行的唯一线程是守护程序线程(即,没有用户线程存在),Java运行时会立即关闭应用程序,从而有效地停止所有线程守护进程线程已经死亡.为了使应用程序继续运行,它必须始终至少有一个实时用户线程.在所有其他方面,Java运行时以完全相同的方式处理守护程序线程和用户线程.


Mic*_*tta 7

守护程序线程不会阻止应用程序在它们仍在工作时关闭.它们更适用于在应用程序处于活动状态时需要完成的任务,但是否则可以安全地杀死它们.