如何在ThreadPoolTask​​Executor中停止所有正在运行的线程?

我使用ThreadPoolTask​​Executor添加这样的新线程:

threadPoolTaskExecutor.execute(new Runnable() {

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

        Thread.sleep(1000); 
    }

});

当我关闭此执行程序时,所有活动线程都不会停止:

threadPoolTask​​Executor.shutdown();

有没有选项如何使用ThreadPoolTask​​Executor停止此活动线程?

最佳答案 创建ThreadPoolTask​​Executor时应设置
setWaitForTasksToCompleteOnShutdown(false).

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

点赞