Android开发Android技术知识Android开发经验谈

Java循环线程

2019-07-30  本文已影响6人  TTLLong

正确的线程循环写法:

用一个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. 线程已经终止的时候。
上一篇 下一篇

猜你喜欢

热点阅读