我正在为学校编写一个程序,如果学校时间表发生变化,将发送电子邮件。计划必须每5分钟从学校的网站阅读更新的信息,直到下午4:00,并且必须等待接下来的14个小时并重复相同的步骤。
我的问题是:如何在Java中有效地实现这个短~5分钟和很长~14小时的间隔?
只需使用Thread.wait(millis)?
谢谢!
//编辑:感谢您的回答,我想我会使用一次执行的计时器,并会在每次更新后计算新的延迟。
答案 0 :(得分:1)
即使在这种情况下性能无关紧要,在开始检查网站之前,只需使用Calendar.getInstance()
或new Date()
检查当前日期。如果它不在您的时间范围内,则不执行任何操作。要安排网站检查,只需使用java.util.Timer
或类似的服务/框架。
答案 1 :(得分:0)
您可以使用Java Timer的schedule方法。每次执行任务后,您应该计算一个间隔(基于当前时间)并根据新的间隔计划任务。
答案 2 :(得分:0)
请查看Quartz。它满足大多数时间/调度需求。