1、线程分为用户线程和守护线程
2、 虚拟机必须确保用户线程执行完毕
虚拟机不用等候守护线程执行完毕
即:如果上帝线程是无限循环,程序需要等用户线程需要执行完才会停止,紧跟着守护线程也停止了,哪怕他是无限循环的
3、应用:后台记录操作日志,监控内存,垃圾回收
package com.kuang.demo5_state;
//测试守护线程
//上帝守护
public class TestDaemon {
public static void main(String[] args) {
God god = new God();
You you = new You();
Thread thread = new Thread(god);
thread.setDaemon(true);//默认是false表示是用户线程,正常线程都是用户线程
thread.start();//上帝守护线程启动
new Thread(you).start();//你 用户线程启动
}
}
//上帝
class God 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("-====goodbye! World!====-");
}
}