是否有可能每一天重复执行任务,每分钟,每一秒,每一年? 我希望它像一个后台进程运行。
我需要一个计划任务,不断搜索数据库; 如果发现某个值,那么就应该执行进一步的任务。
是否有可能每一天重复执行任务,每分钟,每一秒,每一年? 我希望它像一个后台进程运行。
我需要一个计划任务,不断搜索数据库; 如果发现某个值,那么就应该执行进一步的任务。
我想问是否有可能反复
您可以使用一个循环,或ScheduleExecutorService,或定时器,或石英。
每一天的每一分钟每一秒每一年
所以一旦第二。
我希望它像一个后台进程运行。
我只想让一个守护线程则。 没有必要让“喜欢”一个守护进程。
如果找到正确的值,那么它应该做的剩余任务。
够简单。
读取数据,检查值,如果它想要做休息什么。
该java.util.Timer中和java.util.TimerTask中的类,我将把共同作为Java定时器框架,很容易让程序员安排简单的任务。
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");
}
}
或计划计时器任务重复运行
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);
为了做到基于时间的任务你想使用线程。 看看这个链接,以了解他们的情况: http://docs.oracle.com/javase/tutorial/essential/concurrency/threads.html
嗯,所以程序要运行所有的时间? 可能要到Java的定时器
也许看看java.util.Timer中或Quartz调度将是有益的。
一的ScheduledThreadPoolExecutor或许也有帮助。 看看他们的示例代码,你应该能够做到这一点。