Java 更改服务延迟

Java 更改服务延迟,java,executorservice,Java,Executorservice,如果延迟在稍后某个时间点更改为60,则计划何时执行作业。30秒还是60秒 如果我们不能改变延迟,最好的方法是什么。我计划调用一个shutdown(scheduler.shutdown())并以新的延迟调度作业。还有其他方法吗?从ScheduledExecutorService#schedule(..)调用中获取ScheduledFuture 当需要重新计划时,请在ScheduledFuture上调用cancel(),然后以新的delay重新提交任务 您的任务可能需要以能够处理中断的方式来实现 d

如果延迟在稍后某个时间点更改为60,则计划何时执行作业。30秒还是60秒


如果我们不能改变延迟,最好的方法是什么。我计划调用一个shutdown(
scheduler.shutdown()
)并以新的延迟调度作业。还有其他方法吗?

ScheduledExecutorService#schedule(..)
调用中获取
ScheduledFuture

当需要重新计划时,请在
ScheduledFuture
上调用
cancel()
,然后以新的
delay
重新提交任务

您的任务可能需要以能够处理中断的方式来实现

delay = 30;             

scheduler = Executors.newSingleThreadScheduledExecutor();
            scheduler.schedule(new Runnable() {
                public void run() { .... }
            }, delay , TimeUnit.SECONDS);