spring动态添加 , 修改,删除定时任务

有的时候我们会根据一些条件动态的向线程池中添加定时任务

用到了  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);
上一篇:Future 异步支持


下一篇:Java多线程(十)——Executor