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

守护线程(后台线程)

作者: 东风谷123Liter | 来源:发表于2018-07-12 10:43 被阅读0次
    image.png

    与前台线程的区别:

    • 开启、运行都没有区别,只有结束有区别:要前台线程结束后,后台线程才会结束,而且是自动结束的。
    //t1,t2为守护线程时,只有主线程是前台线程,挡住线程结束时,两个守护线程会自动结束。
    class StopThread implements Runnable{
        private boolean flag = true;
        public synchronized void run(){
            while(flag){
                System.out.println(Thread.currentThread().getName()+".....run");
            }
        }
        public void changeFlag(){
            flag = false;
        }
    }
    class StopDemo{
        public static void main(String[] args){
            StopThread st = new StopThread();
    
            Thread t1 = new Thread(st);
            Thread t2 = new Thread(st);
    
            t1.setDaemon(true); //将t1设置为守护线程
            t2.setDaemon(true); //将t2设置为守护线程
            t1.start();
            t2.start();
    
            int num = 0;
            while(true){
                num++;
                if(num == 60){
                    //st.changeFlag();
                    //t1.interrupt();   //中断线程t1,
                    //t2.interrupt();
                    break;
                }
                System.out.println(Thread.currentThread().getName()+".............."+num);
            }
        }
    }
    

    相关文章

      网友评论

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

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