ScheduledExecutorService подробно
ScheduledExecutorServiceはExecutorServiceの子インターフェースであるインターフェースです。 指定の遅延後に繰り返してタスクを実行するか、固定の時間間隔でタスクを実行する便利な方法を提供します。
ScheduledExecutorServiceインタフェースは、タスクのスケジューリングに使用されるメソッド群を定義しています。
- 指定された遅延後に、指定されたタスクを実行します。
- 指定された遅延の後に指定されたタスクを実行し、タスクの結果を取得するために使用できるFutureオブジェクトを返します。
- 指定した初期遅延後に指定されたタスクの実行を開始し、所与の時間間隔でタスクの繰り返し実行します。
- 指定された初期遅延後に指定されたタスクを実行開始し、実行される度に指定された遅延時間待ってから、再度タスクを実行します。
ScheduledExecutorServiceインターフェイスの実装クラスはExecutorsクラスのメソッドを使用して作成できます。たとえば:
- ScheduledExecutorService executorService = Executors.newScheduledThreadPool(5);
ScheduledExecutorServiceを使用した利点は次のとおりです。
- 指定された遅延後、または固定的な時間間隔でタスクを実行でき、定期的なタスクや定期タスクに適しています。
- タスクの実行時間と頻度を制御できます。
- スレッドのライフサイクルをより適切に管理および制御できる、タスクを実行するスレッドプールを提供します。
スケジュール実行サービスはタスクの実行時間が正確に保証されず、いくらか遅延する可能性があります。正確な定期タスクが必要な場合は、タイマー クラスまたはクォーツ フレームワークなどの他のソリューションの使用を検討してください。