线程分为用户线程和守护线程
虚拟机必须确保用户线程执行完毕
虚拟机不用等待守护线程执行完毕
后台记录操作日志、监控内存、垃圾回收等待
//测试守护线程
public class TestDaemon {
public static void main(String[] args) {
God god = new God();
You you = new You();
Thread thread1 = new Thread(god);
thread1.setDaemon(true); //默认为false表示是用户线程,正常的线程都是用户线程
thread1.start(); //守护线程
Thread thread2 = new Thread(you);
thread2.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 < 300; i++) {
System.out.println("喘气和活着");
}
System.out.println("over");
}
}