使用java.util.TimerTask在Java中定期运行任务

时间:2018-10-05 06:59:40

标签: java

使用java.util.TimerTask调度任务时,如何确保运行方法仅在当前执行完成后才能执行,否则任务队列大小将保持增长,并且最终任务将始终执行。我是初学者,正在寻求帮助

2 个答案:

答案 0 :(得分:1)

使用ExecutorService#scheduleWithFixedDelay()。当前任务完成时,这将开始“延迟”(与scheduleAtFixedRate()相对)

答案 1 :(得分:1)

java.util.TimerTimerTask一起使用。可以使用以下两种计时器之一:

  • <input type="text">

  • schedule(TimerTask task, long delay, long period)

位置:
scheduleAtFixedRate(TimerTask task, long delay, long period)-要安排的任务。
task-执行任务之前的毫秒数。
delay-两次连续执行任务之间的时间(以毫秒为单位)。

另外,请参阅此文章:What is the difference between schedule and scheduleAtFixedRate?