守护线程
- java语言中线程分为两大类
用户线程
守护线程(后端)
- 守护线程的特点
一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束
案例:死循环的守护线程在主线程结束后也结束
package com.itguo.thread;
/**
* 守护线程属于后台线程,一般用来守护用户线程,用户线程只要一结束,守护线程也结束
* 守护线程一般是个死循环
*
* 主线程运行的时候,守护线程开启,主线程结束,守护线程也结束
*/
public class ThreadTest09 {
public static void main(String[] args) {
//创建线程对象
Thread thread = new Thread(new createThread());
//将该线程对象设置成守护线程,setDaemon(true)将用户线程设置成守护线程
thread.setDaemon(true);
//开启守护线程
thread.start();
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName()+" "+i);
try {
//模拟睡眠
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class createThread implements Runnable{
@Override
public void run() {
while (true){
//模拟死循环
System.out.println("守护线程在执行");
try {
//模拟睡眠
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
输出结果
main 0
守护线程在执行
main 1
守护线程在执行
main 2
守护线程在执行
main 3
守护线程在执行
main 4
守护线程在执行
main 5
守护线程在执行
main 6
守护线程在执行
main 7
守护线程在执行
main 8
守护线程在执行
main 9
守护线程在执行
Process finished with exit code 0