我是编程的新手,对Java只有基本概念。为了完成一个学校项目,我需要一个解决方案来定期执行一个Java程序(类),比如说每隔6小时执行一次,并从中收集数据。这个Java程序是一个客户端,每5分钟接收一次服务器发布的消息。为了解决这个问题,我最初想到使用 Thread()
和 Runnable()
,但像我之前提到的,我只有Java的基本概念,不知道该怎么做。解决方案也必须是Java语言的。如果有人有任何想法,非常感谢您的帮助,谢谢。
我是编程的新手,对Java只有基本概念。为了完成一个学校项目,我需要一个解决方案来定期执行一个Java程序(类),比如说每隔6小时执行一次,并从中收集数据。这个Java程序是一个客户端,每5分钟接收一次服务器发布的消息。为了解决这个问题,我最初想到使用 Thread()
和 Runnable()
,但像我之前提到的,我只有Java的基本概念,不知道该怎么做。解决方案也必须是Java语言的。如果有人有任何想法,非常感谢您的帮助,谢谢。
Timer
程序DelayQueue
(由 OldCurmudgeon 提议)QUARTZ CRONTRIGGER
请参阅这里的 contrigger 模式文档,查看 Quartz Scheduler 文档。
定于每天早上 00:00
、6:00
、12:00
和下午 18:00
执行:
0 0 0/6/12/18 * * ?
每5分钟执行一次
0 0/5 * * * ?
计时器
定义一个线程,每隔x时间检查一次以启动进程:
int SIX_HOURS = 1000 * 60 * 60 * 6;
Timer timer = new Timer();
timer.schedule( new TimerTask()
{
public void run() {
// do your work
}
}, 0, SIX_HOURS);
延迟队列
我没有使用过DelayQueue,但您可以在OldCurmudgeon的示例这里找到,同时Jenkov有一个教程,您还可以在这里和这里找到更多示例。
DelayQueue
教程或示例吗? - Jordi Castilla