为所有非守护线程提供服务的线程,也称后台线程,任何一个守护线程都是整个JVM中所有非守护线程的保姆。

守护线程的作用

举例,GC垃圾回收线程:就是一个经典的守护线程, 当我们的程序中不再有任何运行的Thread,程序就不会再产生垃圾,垃圾回收器也就无事可做,所以当垃圾回收线程是JVM.上仅剩的线程时,垃圾回收线程会自动离开。它始终在低级别的状态中运行,用于实时监控和管理系统中的可回收资源。

(守护线程必须在线程开启前设置!)thread.setDaemon(true)必须在thread.start()之前设置,否则会抛出一个llegalThreadStateException异常。 你不能把正在运行的常规线程设置为守护线程。

在守护(deamon)线程中产生的新线程也是守护线程

评论