1

タスクを毎日、毎分、毎秒、毎年繰り返し実行できますか? デーモンのように実行したい。

データベースを継続的に検索するには、スケジュールされたタスクが必要です。特定の値が見つかった場合は、さらにタスクを実行する必要があります。

4

5 に答える 5

3

繰り返し可能かお聞きしたいです

ループ、ScheduleExecutorService、Timer、または Quartz を使用できます。

毎日 毎分 毎秒 毎年

だから1秒に1回。

デーモンのように実行したい。

私はそれをデーモンスレッドにするだけです。デーモンの「ように」する必要はありません。

正しい値が見つかった場合は、残りのタスクを実行する必要があります。

十分に単純です。

データを読み取り、値を確認し、それが必要な場合は残りを行います。

于 2012-08-11T06:56:53.147 に答える
2

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);
于 2012-08-11T07:07:58.057 に答える
0

おそらく、java.util.TimerまたはQuartz Schedulerを見ると役立つでしょう。

ScheduledThreadPoolExecutorも役立つ場合があります。サンプルコードを調べれば、それができるはずです。

于 2012-08-11T06:56:14.370 に答える
0

時間に基づいてタスクを実行するには、スレッドを使用する必要があります。それらの詳細については、次のリンクを参照してください: http://docs.oracle.com/javase/tutorial/essential/concurrency/threads.html

于 2012-08-11T06:56:27.473 に答える
0

うーん、プログラムは常に実行されますか? Javaタイマーを調べたいかもしれません

于 2012-08-11T06:56:36.093 に答える