定期执行java程序
我是一名编程新手,只掌握Java的基本概念。我需要一个学校项目的解决方案,定期执行一个Java程序(类)(假设每6小时一次)并从中收集数据。Java程序是一个客户端,它每5分钟收集一次服务器发布的消息。为了解决这个问题,我的第一个想法是定期执行java程序,java,multithreading,threadpool,runnable,Java,Multithreading,Threadpool,Runnable,我是一名编程新手,只掌握Java的基本概念。我需要一个学校项目的解决方案,定期执行一个Java程序(类)(假设每6小时一次)并从中收集数据。Java程序是一个客户端,它每5分钟收集一次服务器发布的消息。为了解决这个问题,我的第一个想法是Thread()和Runnable(),但正如我所说的,我只有Java的基本概念,我不知道怎么做。解决方案也必须是Java。如果有人有任何想法,非常感谢您的帮助,谢谢 对不起,我的英语不好 您有两个选择: 手动编程 定义一个(由提议的) 石英晶体触发器 检查
Thread()
和Runnable()
,但正如我所说的,我只有Java的基本概念,我不知道怎么做。解决方案也必须是Java。如果有人有任何想法,非常感谢您的帮助,谢谢
对不起,我的英语不好 您有两个选择:
- 手动编程
- 定义一个(由提议的)
检查文档。() 在
00:00
、6:00
、12:00
和18:00
小时执行:
0 0 0/6/12/18 * * ?
每5分钟执行一次
0 0/5 * * * ?
定时器定义一个线程,该线程在每次启动进程时检查一次:
int SIX_HOURS = 1000 * 60 * 60 * 6;
Timer timer = new Timer();
timer.schedule( new TimerTask()
{
public void run() {
// do your work
}
}, 0, SIX_HOURS);
延迟队列我没有这方面的经验,但您可以找到示例,也有一个,您可以找到更多示例和。您可以使用@dotvav之类的调度库,这取决于他的项目的复杂性,quartz可能是一个过火的工具。“他可以先看一看更简单的解决方案。”斯瓦普尼尔说,这句话纯粹是一种反射。小项目/任务可能使用更简单的方法。谢谢您的帮助,我将尝试解决方案,然后更新。您也可以使用。@OldCurmudgeon更新了更多信息,你知道其他一些很好的教程或例子吗?<代码> DelayQueue <代码>?很抱歉耽搁了——我遇到了一些麻烦。请看一个示例<代码> DelayQueue < /代码>。Hi @ Gon,这是你的第一个问题,如果这个或任何答案已经解决了你的问题,请点击检查标记来考虑。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。