java 多线程守护线程

将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,java虚拟机退出。

必须在启动线程前调用。

class StopThread implements Runnable {
    private boolean flag = true;

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

    public void changeFlag() {
        flag = false;
    }
}

public class StopThreadDemo {
    public static void main(String[] args) {
        StopThread st = new StopThread();
        Thread t1 = new Thread(st);
        Thread t2 = new Thread(st);
        t1.setDaemon(true);
        t2.setDaemon(true);
        t1.start();
        t2.start();
        int num = 0;
        while (true) {
            if (num++ == 60) {
//                st.changeFlag();
//                t1.interrupt();
//                t2.interrupt();
                break;
            }
            System.out.println(Thread.currentThread().getName() + "......" + num);
        }
        System.out.println("over");
    }
}

猜你喜欢

转载自www.cnblogs.com/hongxiao2020/p/12612036.html