0
0

More than 1 year has passed since last update.

【JavaGold】newSingleThreadScheduledExecutorメソッド

Posted at

概要

単一のスレッドを持つスケジュール可能なスレッドプールを作成するためのメソッド。

import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

public class SingleThreadScheduledExecutorExample {

    public static void main(String[] args) {
        ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();

        // タスクをスケジュール
        executorService.schedule(() -> {
            System.out.println("Task executed after 2 seconds.");
        }, 2, TimeUnit.SECONDS);

        // ExecutorServiceを終了する
        executorService.shutdown();
    }
}

上記の例ではnewSingleThreadScheduledExecutor()メソッドを使用してScheduledExecutorServiceのインスタンスを作成している。
このスレッドプールは単一のスレッドを持ち、schedule()メソッドを使用してタスクをスケジュールしている。

引数には以下を指定する。

  • 第1引数:実行するタスク
  • 第2引数:遅延時間

この例では、2秒後に指定したタスクが実行される。
プログラムを実行すると、指定した遅延時間後にタスクが実行される。

実行結果
Task executed after 2 seconds.

生成されたScheduledExecutorServiceは、必要に応じてshutdown()メソッドを呼び出してスレッドプールを終了する必要がある。
これにより、プログラムの終了時にスレッドプールが適切にシャットダウンされ、リソースの解放が行われる。

使用場面

  • タスクの実行をシングルスレッドで順序立てて行いたい場合。
  • 予定されたタスクの実行や定期的なタスクのスケジュールを行いたい場合。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0