java计划以可变时间间隔运行任务
我是Java新手,基本上,我必须启动一个线程并以默认时间间隔运行它,比如100秒(来自变量cooldown
)。此冷却时间可以更新任意次数。假设冷却时间更改为10秒,现在线程应该以10秒的间隔运行。我应该使用什么以及如何实现这一点?我研究了一些选项,如ScheduledExecutorService
,但它需要一个时间间隔,在我的例子中,这个时间间隔是不固定的。举个小例子会很有帮助。谢谢
你可以在下面搜索框中键入要查询的问题!
我是Java新手,基本上,我必须启动一个线程并以默认时间间隔运行它,比如100秒(来自变量cooldown
)。此冷却时间可以更新任意次数。假设冷却时间更改为10秒,现在线程应该以10秒的间隔运行。我应该使用什么以及如何实现这一点?我研究了一些选项,如ScheduledExecutorService
,但它需要一个时间间隔,在我的例子中,这个时间间隔是不固定的。举个小例子会很有帮助。谢谢
# 1 楼答案
将逻辑封装在一个类中,并使用一个设置间隔的方法。调用该方法时,可以取消当前计划的任务并启动一个新任务。它可以是这样的:
存在
synchronized
是为了确保只有一个线程可以同时重新调度# 2 楼答案
下面是使用
TimerTask
的方法: