用户线程和守护线程

线程分为用户线程和守护线程。

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

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

用setDaemon(Boolean b)设置线程是否是守护线程;

false表示是用户线程,true表示是守护线程。

实例:

package com.wzz.A03多线程;
//测试守护线程
//上帝守护你
public class TestThreadDaemon16 {
    public static void main(String[] args) {
        God god = new God();
        You1 you1 = new You1();

        Thread thread = new Thread(god);
        thread.setDaemon(true);//默认是false表示是用户线程,正常线程是用户线程
        thread.start();//上帝守护线程启动

        new Thread(you1).start();//你 用户线程启动
    }
}

//上帝
class God implements Runnable{

    @Override
    public void run() {
       while (true){
           System.out.println("上帝保佑着你");
       }
    }
}
//你
class You1 implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i < 36500; i++) {
            System.out.println("你一生开心的活着");
        }
        System.out.println("====goodbye!world====");
    }
}
posted @ 2021-10-17 16:11  隔岸稻花香  阅读(33)  评论(0编辑  收藏  举报