Java : Executor - API使用例

Executor (Java SE 17 & JDK 17) の使用例まとめです。
API仕様のおともにどうぞ。


概要

クラス構成

Executor自体は、Runnableを実行する単純なインタフェースです。

一般的には、サブインタフェースである ExecutorService を使ってスレッド処理をすることが多いと思います。
ExecutorService は Executors で生成できます。

そちらのAPI使用例もご参照ください。

メソッド

void execute (Runnable command)

将来のどの時点かで、指定されたコマンドを実行します。

final var executorService = Executors.newSingleThreadExecutor();
try {
    final Runnable command = () -> {
        try {
            System.out.println("task start");
            Thread.sleep(1000);
            System.out.println("task run");

        } catch (InterruptedException e) {
            System.out.println("Interrupted!");
        } finally {
            System.out.println("task end");
        }
    };

    executorService.execute(command);

} finally {
    executorService.shutdown();
    System.out.println("--- shutdown ---");
}

final var ret = executorService.awaitTermination(10, TimeUnit.SECONDS);
System.out.println("--- term : " + ret);

// 結果
// ↓
//--- shutdown ---
//task start
//task run
//task end
//--- term : true

関連記事

ページの先頭へ