Java循环线程

作者: TTLLong | 来源:发表于2019-07-30 20:00 被阅读6次

    正确的线程循环写法:

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

    相关文章

      网友评论

        本文标题:Java循环线程

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