Java : Executor - API使用例
Executor (Java SE 19 & JDK 19) の使用例まとめです。
API仕様のおともにどうぞ。
概要
Executorは、Runnable を実行する単純なインタフェースです。
一般的には、サブインタフェースである ExecutorService を使ってスレッド処理をすることが多いと思います。
ExecutorService は Executors で生成できます。
try (final var executorService = Executors.newSingleThreadExecutor()) {
final Runnable command = () -> {
System.out.println(" command start");
System.out.println(" thread id = " + Thread.currentThread().threadId());
};
System.out.println("-- execute start --");
System.out.println("thread id = " + Thread.currentThread().threadId());
executorService.execute(command);
System.out.println("-- execute end --");
}
System.out.println("-- executor terminated --");
// 結果
// ↓
//-- execute start --
//thread id = 1
//-- execute end --
// command start
// thread id = 33
//-- executor terminated --
メソッド
void execute (Runnable command)
概要のコード例も合わせてご確認ください。
class DirectExecutor implements Executor {
public void execute(Runnable command) {
command.run();
}
}
final var executor = new DirectExecutor();
executor.execute(() -> System.out.println("Run!"));
// 結果
// ↓
//Run!
関連記事
- API 使用例
- BlockingQueue (ブロッキング・キュー)
- Callable
- CancellationException
- ConcurrentHashMap.KeySetView (並列処理用セット)
- ConcurrentLinkedDeque (並列処理用・両端キュー)
- ConcurrentLinkedQueue (並列処理用キュー)
- ConcurrentMap (並列処理用マップ)
- ConcurrentModificationException (並列処理例外)
- ConcurrentSkipListSet (並列処理用セット)
- Condition (同期)
- CopyOnWriteArrayList (並列処理用リスト)
- CopyOnWriteArraySet (並列処理用セット)
- CountDownLatch (同期)
- CyclicBarrier (同期)
- Exchanger (同期)
- ExecutorService
- Executors
- Future
- Future.State
- FutureTask
- InterruptedException (割込み例外)
- Lock (同期)
- Object (オブジェクト)
- Runnable
- Semaphore (セマフォ)
- Thread (スレッド)
- ThreadGroup
- ThreadLocal
- TimeUnit