为了账号安全,请及时绑定邮箱和手机立即绑定

如何让一个ScheduledExecutorService提前运行一个Runnable?

如何让一个ScheduledExecutorService提前运行一个Runnable?

慕的地8271018 2023-03-31 15:31:05
我正在使用 a每隔一分钟定期ScheduledExecutorService运行一个特定的作业(作为普通实现)(使用 method )。RunnablescheduleAtFixedDelay()然而,有时我希望它立即醒来,调用Runnable然后返回到它的普通策略(即再次等待 1 分钟)。有没有一种简单的方法可以实现这一目标?我检查了 及其超类的 API ScheduledExecutorService,但到目前为止没有找到合适的 API。当然,我可以求助于其他一些方法,比如将相同的方法传递Runnable给为特殊目的创建的单独线程,但使用 的方法ScheduledExecutorService会更优雅。
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

只需记住您对日程安排的调用中的ScheduledFuture即可。

如果您随后想提前运行它,请调用future.cancel(),再次提交任务以立即执行,然后再次安排它。


查看完整回答
反对 回复 2023-03-31
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信