是否有可能每一天,每一分钟,每一秒,每一年重复执行一项任务?我希望它像守护进程一样运行。你可以在Java中重复执行一项任务吗?
我需要一个计划任务来连续搜索数据库;如果它发现一个特定的值,那么它应该执行一个进一步的任务。
是否有可能每一天,每一分钟,每一秒,每一年重复执行一项任务?我希望它像守护进程一样运行。你可以在Java中重复执行一项任务吗?
我需要一个计划任务来连续搜索数据库;如果它发现一个特定的值,那么它应该执行一个进一步的任务。
我想问是否有可能重复
您可以使用一个循环,或ScheduleExecutorService,或定时器,或石英。
每一天的每一分钟每一秒每一年
所以一旦第二。
我希望它像守护进程一样运行。
我只是把它作为一个守护线程然后。不需要使它像一个守护进程一样。
如果它找到正确的值,那么它应该完成剩余的任务。
够简单。
阅读数据,检查数值,以及是否想要其他数据。
也许看看java.util.Timer或Quartz Scheduler会有所帮助。
A ScheduledThreadPoolExecutor也许会有帮助。看看他们的示例代码,你应该可以做到这一点。
为了完成基于时间的任务,您希望使用线程。看看这个链接,以了解更多关于它们的信息:
我将统称为Java定时器框架的java.util.Timer和java.util.TimerTask类使程序员可以轻松地安排简单的任务。
public class Reminder {
Timer timer;
public Reminder(int seconds) {
timer = new Timer();
timer.schedule(new RemindTask(), seconds*1000);
}
class RemindTask extends TimerTask {
public void run() {
System.out.format("Time's up!%n");
timer.cancel(); //Terminate the timer thread
}
}
public static void main(String args[]) {
new Reminder(5);
System.out.format("Task scheduled.%n");
}
}
OR 调度定时器任务运行反复
int delay = 5000; // delay for 5 sec.
int period = 1000; // repeat every sec.
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
// Task here ...
}
}, delay, period);
谢谢这是我得到它的最简单的方式 – 2012-08-11 07:21:51
谢谢。另一种选择是Thread使用Thread.sleep()方法 – 2012-08-11 07:23:59
你用'每一天意味着什么,每分钟每一秒每一year'?你想每年运行一次任务吗? – Madushan 2012-08-11 06:54:47
没有每一次,因为我说像一个守护进程 – 2012-08-11 06:56:08
@AzharAlam为什么不使用一个实际的守护进程线程?特别是像“守护进程”那样是什么意思? – 2012-08-11 07:02:04