我需要更改ScheduledThreadPoolExecutor的runnig任务的执行时间。
我喜欢
executor.schedule(new Runnable() {blablal},10,TimeUnit.SECONDS);
在登录阶段,我想为这个用户选择所有任务并执行一次。
无法更改ScheduledFuture的执行时间吗?
所以我最好选择做
之类的事情synchronized(list) {
Runnable a = new Runnable(){aaaa; list.remove(a)};
executor.schedule(a,10,TimeUnit.SECONDS);
list.add(a);
}
并在登录时
synchronize(list) {
for (Runnable a : list)
a.run();
}
我是对的吗?
没有其他更好的选择,所以我可以避免所有这些同步?
可能是更改ScheduledFuture超时的直接方法