后台/守护/daemon
程序运行的时候,在后台提供的一种通用服务的线程。当所有的用户线程结束后,后台线程也被全部杀死。
用户线程
程序运行的时候,主线程结束后,用户线程还未结束,则继续运行用户线程,直到所有用户线程结束,守护线程和jvm销毁。
设置守护线程
setDaemon()要在start()前执行才行!
Thread2 t = new Thread2();
t.setDaemon(true);//不是精灵守护线程
t.start();
守护线程的作用
比如垃圾回收线程就是一个守护线程。当JVM检测仅剩一个守护线程,而用户线程都已经退出运行时,JVM就会退出,因为没有如果没有了被守护这,也就没有继续运行程序的必要了。如果有非守护线程仍然存活,JVM就不会退出。