美文网首页
daemon守护线程(后台线程)

daemon守护线程(后台线程)

作者: ssttIsme | 来源:发表于2019-03-24 17:34 被阅读0次

Thread类创建出来的线程默认都是前台线程。调用Thread类的setDaemon(true)可将当前线程设置为守护线程(也称为后台线程)。

守护线程是用来守护前台线程的,只要进程中有前台线程存活,守护线程一直守护,直到进程中所有前台线程结束,进程结束,守护线程强制结束。

gc是一个守护线程,只要堆里有对象,gc一直活着。

设rose为前台线程,jack为守护线程,rose落水,jack不再呼喊。

public class DaemonDemo {

    public static void main(String[] args) {
        //创建rose前台线程
        Thread rose =new Thread("rose"){
            public void run() {
                for(int i=0;i<5;i++ ){
                    System.out.println("Jack,help me!!!");
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                    }
                }
                System.out.println("Rose drowned !!!");
            };
        };
        //创建jack后台线程
        Thread jack=new Thread("jack")
        {
            public void run() {
                while(true){
                    System.out.println("You jump,I jump!!!");
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                    }
                }
            }
        };
        jack.setDaemon(true);
        System.out.println(jack.getName()+" is Daemon ? "+jack.isDaemon());
        System.out.println(rose.getName()+" is Daemon ? "+rose.isDaemon());
        
        rose.start();
        jack.start();
    }
}

运行结果

jack is Daemon ? true
rose is Daemon ? false
Jack,help me!!!
You jump,I jump!!!
You jump,I jump!!!
Jack,help me!!!
You jump,I jump!!!
Jack,help me!!!
You jump,I jump!!!
Jack,help me!!!
You jump,I jump!!!
Jack,help me!!!
You jump,I jump!!!
Rose drowned !!!

相关文章

  • Python 多线程编程2

    1 守护线程 守护线程(Daemon thread),又叫做后台线程。此类线程的特点是当其他线程都执行结束时,无论...

  • daemon守护线程(后台线程)

    Thread类创建出来的线程默认都是前台线程。调用Thread类的setDaemon(true)可将当前线程设置为...

  • 守护线程和用户线程

    后台/守护/daemon 程序运行的时候,在后台提供的一种通用服务的线程。当所有的用户线程结束后,后台线程也被全部...

  • java线程分类

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

  • 守护线程(Daemon)

    线程分类 User Thread(用户线程) Daemon Thread(守护线程) 定义: 守护线程--也称“服...

  • 守护线程

    在Java中有两类线程:用户线程 (User Thread)、守护线程 (Daemon Thread)。 守护线程...

  • 守护线程(Daemon Thread)

    守护线程(Daemon Thread) 在Java中有两类线程:用户线程 (User Thread)、守护线程 (...

  • Java并发编程(4):守护线程与线程阻塞的四种情况

    守护线程 Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用户线...

  • 守护线程与非守护线程的区别

    java中两类线程:User Thread(用户线程)和Daemon Thread(守护线程)。 任何一个守护线程...

  • Java守护线程

    什么是守护线程 Java中的线程分为两类:用户线程(User Thread)、守护线程(Daemon Thread...

网友评论

      本文标题:daemon守护线程(后台线程)

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