Multithreading 如何正确关闭Executor服务?
我有一个Multithreading 如何正确关闭Executor服务?,multithreading,threadpool,executorservice,scheduledexecutorservice,Multithreading,Threadpool,Executorservice,Scheduledexecutorservice,我有一个ScheduledExecutorService调度器,它可以scheduleAtFixRate执行一些任务。 每个任务都有一个ExecutorService executor=Executors.newFixedThreadPool(poolSize) 这些执行者将执行子任务。我有一个关闭钩子,它调用scheduler.shutdown()和scheduler.shutdownNow() 但是这会关闭子任务中的所有线程吗?我的理解是这样做只会向线程发送中断信号 但这取决于线程何时停止
ScheduledExecutorService调度器
,它可以scheduleAtFixRate
执行一些任务。
每个任务都有一个ExecutorService executor=Executors.newFixedThreadPool(poolSize)
这些执行者将执行子任务。我有一个关闭钩子,它调用
scheduler.shutdown()
和scheduler.shutdownNow()
调度程序。shutdown()
就足够了 scheduler.shutdown();
try {
scheduler.awaitTermination(threadTimeout, TimeUnit.MINUTES)
} catch(InterruptedException e) {
scheduler.shutdownNow();
}