Gon*_*ecs 3 java multithreading threadpool runnable
我是编程方面的新手,我只有Java的基本概念.我需要一个学校项目定期执行Java程序(类)的解决方案(让我们说每6个小时一次)并从中收集数据.Java程序是一个客户端,每5分钟收集一次服务器发布的消息.为了解决这个问题我的第一个想法是Thread(),Runnable()但就像我说我只有Java的基本概念,我不知道如何做到这一点.解决方案也必须是Java.如果有人有任何想法帮助非常感谢,谢谢PS抱歉我的英语不好...
您有两种选择:
Timer DelayQueue(由OldCurmudgeon提出)QUARTZ CRONTRIGGER
检查Quartz Scheduler文档.(在这里你会找到一个设计模式doc)
在执行00:00,6:00,12:00和18:00时间:
0 0 0/6/12/18 * * ?
Run Code Online (Sandbox Code Playgroud)
每5分钟执行一次
0 0/5 * * * ?
Run Code Online (Sandbox Code Playgroud)
TIMER
定义一个线程,检查每个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);
Run Code Online (Sandbox Code Playgroud)
DELAY QUEUE
我没有使用DelayQueue的经验,但你可以在这里找到OldCurmudgeon示例, Jenkov也有一个教程,你可以在这里和这里找到更多的例子.
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |