【发布时间】:2012-04-15 21:39:54
【问题描述】:
我有一个从电子邮件帐户读取收件箱消息的程序,正如标题所说,我想每 1.5 小时运行一次该程序。
是否有任何操作系统(Windows 和 Linux)级别或 JVM 级别的解决方案可以帮助执行任务。 谢谢。
【问题讨论】:
标签: java operating-system scheduling scheduled-tasks
我有一个从电子邮件帐户读取收件箱消息的程序,正如标题所说,我想每 1.5 小时运行一次该程序。
是否有任何操作系统(Windows 和 Linux)级别或 JVM 级别的解决方案可以帮助执行任务。 谢谢。
【问题讨论】:
标签: java operating-system scheduling scheduled-tasks
在 Windows 上使用 at 命令或“计划作业”,在 Linux 上使用 cron 作业。
http://support.microsoft.com/kb/313565
http://en.wikipedia.org/wiki/Cron
【讨论】:
取自javadoc 的ScheduledExecutorService:
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}
【讨论】:
【讨论】: