0Pricing
Java Academy · レッスン

ExecutorとFuture

Executorを使ってスレッドを管理し、Futureで結果を扱う方法を学びます。

「ExecutorとFuture」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/2です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全2レッスンが含まれています。

導入

Executorはスレッド管理を簡単にします。Futureは非同期で実行されるタスクの結果を提供します。

ExecutorService

ExecutorServiceはスレッドのプールを管理するため、毎回手動でスレッドを作成する必要がありません。

コード:Runnable を送信する

このコードは、2つのスレッドを持つ ExecutorService に Runnable を送信します。

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) {
    ExecutorService executor = Executors.newFixedThreadPool(2);
    executor.submit(() -> System.out.println("Task executed"));
    executor.shutdown();
  }
}

Future

Future<T>は非同期タスクの結果を表します。get()を呼び出すと、結果を待機できます。

コード:Callable と Future

このコードは Integer を返す Callable を送信します。get()は結果が準備できるまでブロックします。

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) throws Exception {
    ExecutorService executor = Executors.newSingleThreadExecutor();
    Future<Integer> f = executor.submit(() -> 2 + 3);
    System.out.println("Result: " + f.get());
    executor.shutdown();
  }
}

タイムアウトとシャットダウン

get(timeout)を設定すると、永遠に待機することを避けられます。ExecutorService では必ず shutdown() を呼び出してください。

Future の確認

クイックチェック:Java において Future は何を表しますか。

まとめ

まとめ:Executor はスレッドを管理します。Future は結果を表します。タスクには submit()、結果には get()、完了時には shutdown() を使用します。

よくある質問

「ExecutorとFuture」レッスンは無料ですか?

はい。「ExecutorとFuture」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全2レッスンが含まれています。

「ExecutorとFuture」で何を学びますか?

Executorを使ってスレッドを管理し、Futureで結果を扱う方法を学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/2です。

「ExecutorとFuture」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ExecutorとFuture
  2. タスクとライフサイクル
← Java Academyに戻る