JavaでScheduledExecutorService を実装する方法
ScheduledExecutorServiceは、JDKが提供する、一定間隔でタスクを実行するためのインターフェースです。ScheduledExecutorServiceの実装は、以下の手順で行うことができます。
- まずScheduledExecutorServiceオブジェクトを作成しますが、これにはExecutorsクラスの静的メソッドを使用します。
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
- 次に、Runnable インターフェイスを実装した、指定時間間隔後に実行するタスクオブジェクトを作成します。
Runnable task = new Runnable() {
public void run() {
// 任务执行的逻辑
}
};
- 次に、ScheduledExecutorService の schedule メソッドを呼び出して、タスクの実行をスケジュールします。このメソッドは 3 つの引数を受け取ります。タスクオブジェクト、遅延時間と時間単位です。
executorService.schedule(task, 1, TimeUnit.SECONDS);
このコードは、タスクが 1 秒後に実行されることを示しています。
- 最後に、ScheduledExecutorService を終了するときに閉じ、リソースを解放します。
executorService.shutdown();
次のように、完全なサンプル コードを示します。
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 对象
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
// 创建任务对象
Runnable task = new Runnable() {
public void run() {
System.out.println("执行任务");
}
};
// 安排任务的执行
executorService.schedule(task, 1, TimeUnit.SECONDS);
// 关闭 ScheduledExecutorService
executorService.shutdown();
}
}
これにより、ScheduledExecutorService を使用したタスクの定期実行の実装が完了しました。