简述
Java 中的 线程分为两类,分别为 daemon 线程(守护线程〉和 user 线程(用户线程)。在 JVM 启动时会调用 main 函数, main 函 数所在的钱程就是一个用户线程,其实在 JVM内部同时还启动了好多守护线程, 比如垃圾回收线程。
区别
当最后一个非守护线程结束时, JVM会正常退出,而不管当前是否有守护线程 ,也就是说守护线程是否结束并不影响 JVM 的退出。言外之意,只要有一个用户线程还没结束 , 正常情况下 JVM就不会退出。
设置成守护线程
调用线程的setDaemon
方法。
public class OtherTest {
static class ThreadA extends Thread{
@Override
public void run() {
System.out.println("Thread A start");
}
}
public static void main(String[] args) throws InterruptedException {
ThreadA t = new ThreadA();
t.setDaemon(true);
t.start();
}
}