守护线程_daemon

守护线程_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!=========");
    }
}

运行结果:
守护线程_daemon

上一篇:Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令


下一篇:调用get()方法,此时会调用对象的构造方法,即获得到真正对象