守护线程,顾名思义,守护线程是一个线程,但是它守护另一个线程
那么守护线程到底是什么呢?
我们知道,如果我让一个线程无限循环输出,那么即使其它线程结束了,它也仍然继续执行,那如果把这个线程设置为另一个线程的守护线程,则当另一个线程结束时,守护线程也跟着结束
如上:将daemonThread线程设置为main线程的守护线程(daemonThread.setDaemon(true)),则daemonThread线程就是main线程的守护线程, 会随着main线程的结束而结束
注意:如果守护线程设置得有退出条件,并且退出时间早于被守护的线程,则守护线程不会等到被守护线程结束了才退出,仍然按照设置的退出条件退出,但是只要守护线程设置的退出时间大于被守护线程,则守护线程会随着被守护线程的结束而结束