美文网首页
关闭线程

关闭线程

作者: 吃饱了就送 | 来源:发表于2020-09-03 09:55 被阅读0次

    终止线程

    stop方法,已经被弃用,无法预期

    interrupt

    interrupt方法其作用是中断此线程(此线程不一定是当前线程,而是指调用该方法的Thread实例所代表的线程),但实际上只是给线程设置一个中断标志,线程仍会继续运行。
    在run方法里调用isInterrupted()方法

    public static void main(String[] args) {
    
            Thread thread = new Thread() {
                @Override
                public void run() {
                    super.run();
                    for (int i = 0; i < 100000; i++) {
                        if(Thread.interrupted()){
                            System.out.println("run: interrupted stop");
                            return;
                        }
    
                        try {
                            Thread.sleep(2000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                            System.out.println("run: sleep stop");
                            return;
                        }
                        System.out.println("number" + i);
                    }
                }
            };
            thread.start();
    
            try {
                Thread.sleep(4000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            thread.interrupt();
        }
    

    在4秒后for循环里会捕捉到打断异常,如果不处理代码会继续向下执行

    相关文章

      网友评论

          本文标题:关闭线程

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