gpt4 book ai didi

java ScheduledThreadPoolExecutor 改变任务的计时

转载 作者:行者123 更新时间:2023-12-02 02:15:30 26 4
gpt4 key购买 nike

我需要更改 ScheduledThreadPoolExecutor 的运行任务的执行时间。

我有类似的东西

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 超时的直接方法

最佳答案

保留当您在 ScheduledExecutor 上安排某些内容时返回的 Future 的句柄。 。您可以cancel,而不是尝试更改执行时间。 future 并重新安排它。

关于java ScheduledThreadPoolExecutor 改变任务的计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49362129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com