Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何停止ThreadPoolTaskExecutor中所有正在运行的线程?_Java_Multithreading_Spring - Fatal编程技术网

Java 如何停止ThreadPoolTaskExecutor中所有正在运行的线程?

Java 如何停止ThreadPoolTaskExecutor中所有正在运行的线程?,java,multithreading,spring,Java,Multithreading,Spring,我正在使用ThreadPoolTaskExecutor添加这样的新线程: threadPoolTaskExecutor.execute(new Runnable() { @Override public void run() { while(true){ doSomething(); } Thread.sleep(1000); } }); 关闭此执行器时,不会停止所有活动线程: thread

我正在使用
ThreadPoolTaskExecutor
添加这样的新线程:

threadPoolTaskExecutor.execute(new Runnable() {

    @Override
    public void run() {
        while(true){
            doSomething();
        }

        Thread.sleep(1000); 
    }

});
关闭此执行器时,不会停止所有活动线程:

threadPoolTaskExecutor.shutdown()

是否存在如何使用
ThreadPoolTaskExecutor
停止此活动线程的选项?

您应该在创建
ThreadPoolTaskExecutor
时进行设置


默认值为
false
,通过中断正在进行的任务并清除队列立即关闭。

查看线程中断。thread.stop()它!把这些线程拍下来,这样他们就可以知道谁是他们的主人了。谢谢,但是我得到一个异常,它说
java.lang.InterruptedException:sleep interrupted
每个线程都有一个布尔标志,表示它的中断状态。最初,每个线程的状态都设置为false。如果线程在join或sleep等可中断方法期间中断,它将取消阻止并抛出InterruptedException。你也应该处理好它。@GreenLeie这是一篇关于处理中断异常的好文章。谢谢,这篇文章对理解有很大帮助。很好,我很高兴,因为它可以帮助你。