有的时候我们会根据一些条件动态的向线程池中添加定时任务
用到了 ScheduledFuture<?> future = threadPoolTaskScheduler.schedule(runnable , delay) , 向线程池中传入一个任务 , 会返回一个ScheduledFuture 对象 , 我们就可以根据这个 future动态的停止 , 删除定时任务 , 具体代码入如下,
private ThreadPoolTaskScheduler threadPoolTaskScheduler; // 装当前所有权限定时任务的容器 private Map<String , ScheduledFuture> taskPools = new ConcurrentHashMap<>();
ScheduledFuture<?> future = threadPoolTaskScheduler.schedule(runnable , delay); // 将任务放入容器中 ,方便修改 ScheduledFuture oldFuture = taskPools.put(id , future);