美文网首页
守护线程

守护线程

作者: 秋秋_6403 | 来源:发表于2020-05-11 11:21 被阅读0次
守护线程

线程分为用户线程和守护线程。
主线程是由虚拟机启动时创建的。
虚拟机必须在用户线程执行完毕才会停止。但是不必等守护线程执行完再停止。只要所有用户线程执行完,只剩下守护线程时,虚拟机就停止了,此时守护线程也就停止了。例如gc线程。
创建的线程默认都是非守护线程。
设置守护线程方法是thread.setDaemon(true)

public class TestThreadDaemon implements Runnable {

    @Override
    public void run() {
        while(true){

            try {
                System.out.println("守护线程运行");
                Thread.sleep(2000);

            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

    }

    public static void main(String[] args) {
        TestThreadDaemon threadDaemon = new TestThreadDaemon();
        Thread thread = new Thread(threadDaemon);
        thread.setDaemon(true);
        thread.start();

    }
}


程序运行结果·:


运行结果

没有一直打印守护线程运行。

public class TestThreadDaemon implements Runnable {

    @Override
    public void run() {
        while (true) {
            System.out.println("守护线程运行");
        }

    }

    public static void main(String[] args) {
        TestThreadDaemon threadDaemon = new TestThreadDaemon();
        Thread thread = new Thread(threadDaemon);
        thread.setDaemon(true);
        thread.start();
        People people = new People();
        Thread thread2 = new Thread(people);
        thread2.start();

    }
}

class People implements Runnable {
    @Override
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println("用户线程执行");

        }
    }
}

程序运行结果:


运行结果

用户线程执行完,守护线程又继续执行了一会是因为虚拟机停止需要一定时间。

相关文章

  • 线程知识点复习(一)

    守护线程与非守护线程: java中有两条线程:1.守护线程,2.非守护线程(用户线程)守护线程与main主线程同时...

  • 2018-09-19 守护线程与非守护线程

    什么是守护线程、非守护线程? 什么是守护线程,和main有关。 用户线程(非守护线程): 守护线程,有一个特征,和...

  • Java多线程之<<守护线程>>实战

    定义 什么是守护线程?与守护线程相对应的就是用户线程,守护线程就是守护用户线程,当用户线程全部执行完结束之后,守护...

  • 什么是守护线程

    守护线程定义与守护线程相对应就是用户线程,用户线程可以理解为系统工作的线程,而守护线程守护的就是用户线程。当用户线...

  • Java多线程 - 第二章

    守护线程 Java的线程分为两种:User Thread(用户线程)、DaemonThread(守护线程) 守护线...

  • java线程分类

    守护线程 java中有两类线程,用户线程(User Thread)和守护线程(Daemon Thread)。 守护...

  • java——多线程讲解三

    java多线程的补充:守护线程(后台线程)守护线程:在一个进程中如果只剩下了守护线程,那么守护线程也会死亡。任何一...

  • 守护线程

    守护线程 什么是守护线程? 守护线程:一种特殊的线程,驻守在线程后台,完成系统性的工作,当启动守护线程的线程结束时...

  • 问题:什么是守护线程,使用场景是什么,如何创建守护线程

    问题 什么是守护线程?使用场景是什么?如何创建守护线程? 答案 守护线程 守护线程通常执行一些任务,当所有非守护线...

  • java并发之守护线程

    java中有两种线程,用户线程和守护线程用户线程:主线程停止时,用户线程不会停止守护线程:主线程停止时,守护线程也...

网友评论

      本文标题:守护线程

      本文链接:https://www.haomeiwen.com/subject/esnynhtx.html