javaで1時間おきにタスクを実行するよう設定します。
ScheduledExecutorServiceクラスを使用して、1時間ごとにタスクを実行するタイマースケジュールを設定できます。以下の手順を実行します。
- ScheduledExecutorServiceオブジェクトを作成する。
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
- 実行するタスクを定義するために Runnable オブジェクトを作成する:
Runnable task = new Runnable() {
public void run() {
// 执行你的任务代码
}
};
- scheduleAtFixedRateメソッドで、ScheduledExecutorServiceを使用して、タスクの実行間隔を1時間に設定する
scheduler.scheduleAtFixedRate(task, 0, 1, TimeUnit.HOURS);
ここで最初の引数は実行するタスクで、2番目の引数は最初の遅延時間(0は直ちに実行されます)、3番目の引数は実行周期、4番目の引数は時間単位(ここで示されているのは時間)です。
- 最後に、プログラムの最後にScheduledExecutorServiceを閉じるのを忘れないでください。
scheduler.shutdown();
具体的なコードの例を以下に示します。
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class SchedulerExample {
public static void main(String[] args) {
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
Runnable task = new Runnable() {
public void run() {
// 执行你的任务代码
System.out.println("任务执行");
}
};
scheduler.scheduleAtFixedRate(task, 0, 1, TimeUnit.HOURS);
// 程序结束前关闭scheduler
scheduler.shutdown();
}
}
これで毎時タスクを実行できます。