守护线程_daemon
- 线程分为用户线程和守护线程
- 虚拟机必须确保用户线程(main)执行完毕
- 虚拟机不用等待守护线程(gc)执行完毕
- 如:后台记录操作日志,监控内存,垃圾回收等等
测试案例:
package multithreading;
// 测试守护线程
// 上帝守护你
public class TestDaemon {
public static void main(String[] args) {
God god = new God();
You2 you2 = new You2();
Thread thread = new Thread(god);
thread.setDaemon(true); // 默认为false表示是用户线程,正常的线程都是用户线程
thread.start(); // 上帝守护线程启动
new Thread(you2).start(); // 你 用户线程启动
}
}
// 上帝
class God implements Runnable{
@Override
public void run() {
while(true){
System.out.println("上帝保佑着你");
}
}
}
// 你
class You2 implements Runnable{
@Override
public void run() {
for (int i = 0; i < 36500; i++) {
System.out.println("你的一生");
}
System.out.println("========gooodbye! world!=========");
}
}
运行结果: