守护线程(后台线程)

2018-07-12  本文已影响0人  东风谷123Liter
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);
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读