ScheduledExecutorService:何时应该调用关机?
2022-09-02 13:43:27
我在我的应用程序中使用 ScheduledExecutorService。我需要不时地在某些实用程序类中使用它来运行调度线程。
在静态字段中保持 ScheduledExecutorService 是一个好的设计吗?在这种情况下,是否必须调用 ScheduledExecutorService.shutdown()?如果我不调用关机,会带来什么风险?
这就是我的想法:
private static ScheduledExecutorService exec = Executors.newScheduledThreadPool(5);
public void scheduleTask(String name) {
Future<?> future = futuresMapping.get(name);
if(future!=null && !future.isDone())
future.cancel(true);
//execute once
Future<?> f = scheduledExecutor.schedule(new MyTask()), 1, TimeUnit.MINUTES);
futuresMapping.put(name, f);
}
谢谢