当前位置: 首页 > 面试题库 >

如何在Java中安排定期任务?

郭翰墨
2023-03-14
问题内容

我需要安排任务以固定的时间间隔运行。如何在长间隔(例如每8个小时)的支持下执行此操作?

我目前正在使用java.util.Timer.scheduleAtFixedRate。是否java.util.Timer.scheduleAtFixedRate支持长时间间隔?


问题答案:

使用ScheduledExecutorService

 private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
 scheduler.scheduleAtFixedRate(yourRunnable, 8, 8, TimeUnit.HOURS);


 类似资料:
  • 我在Tomcat中部署了一个web应用程序。我有一套代码,它检查数据库中的某些数据,然后根据这些数据向用户发送邮件。有人能建议如何在Tomcat中安排这项工作吗。

  • 问题内容: 我的Java Scheduler有一个问题,我的实际需要是我必须在特定时间启动我的进程,并且我将在特定时间停止,我可以在特定时间启动我的进程,但是我不能在特定时间停止我的进程,如何指定进程在调度程序中运行多长时间(在这里我不会放),任何人对此都有建议。 问题答案: 您可以使用带有2个计划的计划,一个计划运行任务,另一个计划终止任务-参见下面的简化示例:

  • 问题内容: 我正在使用类,并且正在使用其schedule方法执行某些任务,但是在执行了6次之后,我必须停止其任务。 我该怎么办? 问题答案: 在某个地方保留对计时器的引用,并使用: 停止所做的一切。您可以将此代码放在要执行的任务中,static int以计算您经过的次数,例如

  • 问题内容: 当我尝试使用类扩展GlobalSettings时,我需要每天在playframework2.0.4中执行一次代码。但是它适用于每个实例请求。我希望它在服务器启动时能正常工作,并且每天要执行1次工作。 这是我的控制器,从上面的课程开始 问题答案: 调度程序任务应仅放在Global类中。创建两个任务,仅使用= 0毫秒首先安排一次。 对于第二项任务,您需要使用通用的日期/时间类来计算当前日期

  • 我有一个要求,我需要采取我的一些文件的副本,并把它放在内部服务器。这需要定期发生,比如每天晚上8点。这也是一个Swing应用程序,在我的本地PC上运行。我知道我可以使用Java计划任务,或者使用,或者更好的。 但是,问题来了。没有人会仅仅为了这个调度器就让计算机开机24小时。据我所知,如果有人重启电脑,Java调度器也会死掉。相反,一旦任务计划完成,如果计算机已打开,则计划的任务应在每天晚上8点进

  • 问题内容: 我研究了,但是示例仅涉及使其重现。我正在寻找一种类似的功能,例如说“每个星期一的凌晨1点执行此任务”的功能。 问题答案: 感谢Patrick Altman,最近发布的1.0.3版现在支持此功能。 例: