关于守护线程:
1、java语言中线程分为两大类:
用户线程
守护线程(后台线程)。
守护线程最具有代表性的就是:JVM垃圾回收线程。
2、守护线程的特点:
一般守护线程是一个死循环,所有的用户线程结束后,守护线程会自动结束。
注意:主线程main方法是一个用户线程。
3、如何将线程设置成守护线程?
在线程启动之前,调用:线程对象.setDaemon(true);
4、守护线程用在什么地方呢?
通常用在,所有的用户线程结束后,你希望自己设置的守护线程也跟着结束。
测试代码:
public class Test11 {
public static void main(String[] args) {
// 创建线程对象
Thread11 t1 = new Thread11();
t1.setName("t1");
// 线程启动之前,将线程设置为守护线程
t1.setDaemon(true);
// 启动守护线程
t1.start();
// main是主线程,属于用户线程,用户线程结束后,守护线程也跟着结束
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + "--->" + i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class Thread11 extends Thread {
int i = 0;
@Override
public void run() {
// 守护线程一般为死循环,当用户线程全部结束后,守护线程也会自动终止
while (true) {
System.out.println(Thread.currentThread().getName() + "--->" + (i++));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}