守护线程案例讲解

线程分类

用户线程:只要线程还没用运行完成,程序就不会退出

守护线程: 任何一个守护线程都是整个程序中所有用户线程的守护者,只要有活着的用户线程,守护线程就活着。当JVM实例中最后一个非守护线程结束时,也随JVM一起退出

守护线程案例

public class DaemonThreadDemo implements Runnable{


    @Override
    public void run() {
        while (true){
            System.out.println(Thread.currentThread().getName());
        }
    }

    public static void main(String [] args) throws InterruptedException {
        Thread thread = new Thread(new DaemonThreadDemo());
        //开启守护线程 调用start之前调用 会随着主线程休眠退出
        thread.setDaemon(true);
        thread.start();
        Thread.sleep(2000L);
    }
}

守护线程的用处

jvm垃圾清理线程

建议:尽量少使用守护线程,因为不可控不要在守护线程里进行读写操作、执行计算逻辑

猜你喜欢

转载自blog.csdn.net/q736317048/article/details/113802956