您的当前位置:首页Java循环线程

Java循环线程

2024-12-14 来源:哗拓教育

正确的线程循环写法:

用一个boolean变量或者 线程的Interrupted标志位来判断。

    private class Interrupted implements Runnable {
        private volatile boolean isRun = true;

        public Interrupted() {
    
        }

        @Override
        public void run() {
            while (isRun && !Thread.currentThread().isInterrupted()) {
                //todo 耗时操作
                    
            }
        }

        private void cancle() {
            isRun = false;
        }
    }

停止线程时,调用,Thread.interrupted(); 或者 该类实例的cancle()方法。

注意事项:

Thread.currentThread().isInterrupted() 会在两种情况下返回false;

  1. 抛InterruptedException 异常的时候。
  2. 线程已经终止的时候。
显示全文