Java:守护(Daemon)线程

  • 线程分为用户线程守护线程

  • 虚拟机必须确保用户线程执行完毕

  • 虚拟机不用等待守护线程执行完毕,如:后台记录操作日志、监控内存、垃圾回收等待......


package com.jiemyx.thread.demo02;

public class ThreadDaemon {
    public static void main(String[] args) {
        //创建线程
        Daemon d = new Daemon();
        You y = new You();

        //守护线程
        Thread th = new Thread(d);
        th.setDaemon(true); //默认是fals,表示是用户线程,正常的线程都是用户线程
        th.start();

        //用户线程
        new Thread(y).start();
    }
}

//守护
class Daemon 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("哈哈");
    }
}

运行结果(结果有多种,守护线程比较后面才结束):

......

天天开心
天天开心
哈哈
守护着你
守护着你

......

上一篇:golang应用部署


下一篇:UNIX编程之冲洗内存流与null追加策略(APUE F5-15)