Java中将线程划分为两类: 用户线程(User Thread)和守护线程(Daemon Thread)
1.守护线程:是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个守护线程,但这种线程并不是程序中必须存在的部分。因此,只要任何非守护线程还在运行,程序就不会终止;反之,当所有非守护线程结束时,程序也就结束了。
2.用户线程和守护线程二者几乎没有任何区别,唯一的不同在于虚拟机的退出:如果用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了,因为没有了被守护者,守护线程也就没有任何工作可以做了,也就没有了继续运行程序的必要了。