15、守护线程
- 线程分为用户线程和守护线程(daemon)
- 虚拟机需要确保用户线程执行完毕
- 虚拟机不用等待守护线程执行完毕(一般讲当用户线程结束后守护线程也会随之结束但不一定一定随用户线程结束而结束)
- 如,后台记录操作日志,监控内存,垃圾回收等
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!=====");
}
}