在使用 java.util.TimerTask 调度任务时,我如何确保 run 方法仅在当前执行完成后执行,否则任务队列大小将不断增长,最终任务将始终执行。我是初学者,正在寻求帮助
2 回答
慕容森
TA贡献1853条经验 获得超18个赞
将java.util.Timer与TimerTask 一起使用。可以使用这些计时器的两种方法之一:
schedule(TimerTask task, long delay, long period)
scheduleAtFixedRate(TimerTask task, long delay, long period)
其中:task
- 要安排的任务。delay
- 执行任务之前的延迟(以毫秒为单位)。period
- 连续任务执行之间的时间(以毫秒为单位)。
偶然的你
TA贡献1841条经验 获得超3个赞
使用ExecutorService#scheduleWithFixedDelay()
. 这将在当前任务完成时启动“延迟”(而不是scheduleAtFixedRate()
)
添加回答
举报
0/150
提交
取消