タスクを毎日、毎分、毎秒、毎年繰り返し実行できますか? デーモンのように実行したい。
データベースを継続的に検索するには、スケジュールされたタスクが必要です。特定の値が見つかった場合は、さらにタスクを実行する必要があります。
タスクを毎日、毎分、毎秒、毎年繰り返し実行できますか? デーモンのように実行したい。
データベースを継続的に検索するには、スケジュールされたタスクが必要です。特定の値が見つかった場合は、さらにタスクを実行する必要があります。
繰り返し可能かお聞きしたいです
ループ、ScheduleExecutorService、Timer、または Quartz を使用できます。
毎日 毎分 毎秒 毎年
だから1秒に1回。
デーモンのように実行したい。
私はそれをデーモンスレッドにするだけです。デーモンの「ように」する必要はありません。
正しい値が見つかった場合は、残りのタスクを実行する必要があります。
十分に単純です。
データを読み取り、値を確認し、それが必要な場合は残りを行います。
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);
おそらく、java.util.TimerまたはQuartz Schedulerを見ると役立つでしょう。
ScheduledThreadPoolExecutorも役立つ場合があります。サンプルコードを調べれば、それができるはずです。
時間に基づいてタスクを実行するには、スレッドを使用する必要があります。それらの詳細については、次のリンクを参照してください: http://docs.oracle.com/javase/tutorial/essential/concurrency/threads.html
うーん、プログラムは常に実行されますか? Javaタイマーを調べたいかもしれません