Java:守护(Daemon)线程
-
线程分为用户线程和守护线程
-
虚拟机必须确保用户线程执行完毕
-
虚拟机不用等待守护线程执行完毕,如:后台记录操作日志、监控内存、垃圾回收等待......
package com.jiemyx.thread.demo02;
public class ThreadDaemon {
public static void main(String[] args) {
//创建线程
Daemon d = new Daemon();
You y = new You();
//守护线程
Thread th = new Thread(d);
th.setDaemon(true); //默认是fals,表示是用户线程,正常的线程都是用户线程
th.start();
//用户线程
new Thread(y).start();
}
}
//守护
class Daemon implements Runnable{
@Override
public void run() {
while (true){
System.out.println("守护着你");
}
}
}
//你
class You implements Runnable{
@Override
public void run() {
for (int i = 0; i < 36500; i++) {
System.out.println("天天开心");
}
System.out.println("哈哈");
}
}
运行结果(结果有多种,守护线程比较后面才结束):
......
天天开心
天天开心
哈哈
守护着你
守护着你
......