javaで定期実行トリガーを実装する方法
Javaで定期実行を実現するには、java.util.Timerクラスまたはjava.util.concurrent.ScheduledExecutorServiceインターフェースを使用できます。
java.util.Timer クラスを利用したタイマー駆動のサンプル
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
// 定时触发的任务逻辑
System.out.println("定时任务触发");
}
};
// 在1秒后开始执行任务,之后每隔1秒执行一次
timer.schedule(task, 1000, 1000);
}
}
java.util.concurrent.ScheduledExecutorService インタフェースを使用して定期実行を実装する例を以下に示します。
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorServiceExample {
public static void main(String[] args) {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
Runnable task = new Runnable() {
@Override
public void run() {
// 定时触发的任务逻辑
System.out.println("定时任务触发");
}
};
// 在1秒后开始执行任务,之后每隔1秒执行一次
executor.scheduleAtFixedRate(task, 1, 1, TimeUnit.SECONDS);
}
}
TimerクラスとScheduledExecutorServiceインタフェースは、 scheduleまたはscheduleAtFixedRateメソッドを提供して、タスクを定期的にトリガーします。 scheduleメソッドはタスクの遅延時間とトリガー間隔を指定でき、scheduleAtFixedRateメソッドはタスクを一定の時間間隔で実行します。