只安排线程一次



如何修复我的线程,将线程的初始延迟安排为2分钟,并且不再安排。(即,只安排一次(

@Scheduled(fixedDelay = 5000)
public void myJob() {
Thread.sleep(12000);
}

在这种情况下,您可以使用ScheduledExecutiorService。它是一个ExecutorService,可以安排命令在给定延迟后运行,或者定期执行。

ScheduledFuture时间表(可调用、长延迟、时间单位(

创建并执行ScheduledFuture,在给定延迟。

可调用-执行的函数
延迟-从现在开始延迟执行的时间
单位-延迟的时间单位

ScheduledExecutorService service = null;
service = Executors.newScheduledThreadPool(1);
service.schedule(() -> {
myMethodNameWhichIWantToExecute();
}, 2, TimeUnit.MINUTES);
if (service != null) service.shutdown();

最新更新