Java中非常长的间隔的有效方式

时间:2012-12-05 15:30:58

标签: java performance wait intervals

我正在为学校编写一个程序,如果学校时间表发生变化,将发送电子邮件。计划必须每5分钟从学校的网站阅读更新的信息,直到下午4:00,并且必须等待接下来的14个小时并重复相同的步骤。

我的问题是:如何在Java中有效地实现这个短~5分钟和很长~14小时的间隔?

只需使用Thread.wait(millis)?

谢谢!

//编辑:感谢您的回答,我想我会使用一次执行的计时器,并会在每次更新后计算新的延迟。

3 个答案:

答案 0 :(得分:1)

即使在这种情况下性能无关紧要,在开始检查网站之前,只需使用Calendar.getInstance()new Date()检查当前日期。如果它不在您的时间范围内,则不执行任何操作。要安排网站检查,只需使用java.util.Timer或类似的服务/框架。

答案 1 :(得分:0)

您可以使用Java Timer的schedule方法。每次执行任务后,您应该计算一个间隔(基于当前时间)并根据新的间隔计划任务。

答案 2 :(得分:0)

请查看Quartz。它满足大多数时间/调度需求。