Java Academy · レッスン

タスクとライフサイクル

並行処理におけるタスクの状態とライフサイクルを理解します。作成から終了までを扱います。

レッスン 2/28 ステップ

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

導入

タスクは作業単位を表します。スレッドとExecutorがタスクを実行し、各タスクはライフサイクルに沿って進みます。

スレッドの状態

スレッドの状態は、NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATEDです。

コード:ライフサイクルの状態

これは、実行前と実行後のスレッドの状態を示します。

public class Main {
  public static void main(String[] args) throws Exception {
    Thread t = new Thread(() -> System.out.println("Running task"));
    System.out.println("State before start: " + t.getState());
    t.start();
    t.join();
    System.out.println("State after finish: " + t.getState());
  }
}

Executorのタスク

Executorはタスクを内部で管理します。タスクはキューに追加され、スレッドによって取り出されてから完了します。

コード:Executorのライフサイクル

これはExecutorにタスクを送信してから、Executorをシャットダウンします。

import java.util.concurrent.*;public class Main {
  public static void main(String[] args) throws Exception {
    ExecutorService exec = Executors.newSingleThreadExecutor();
    Future<?> f = exec.submit(() -> System.out.println("Task in executor"));
    f.get();
    exec.shutdown();
    System.out.println("Executor shutdown called.");
  }
}

待機状態

スレッドは待機(WAITING)したり、タイムアウト付きで待機(TIMED_WAITING)したりできます。通知を受けると、再びRUNNABLEになります。

ライフサイクルの確認

クイックチェック:一般的なスレッドの状態ではないものはどれですか。

まとめ

まとめ:スレッドとタスクは状態を順に経過します。Executorはタスクを管理し、適切にシャットダウンします。

無料で開始

AI チューターと学ぶ Java — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
104
レッスン
374

よくある質問

「タスクとライフサイクル」レッスンは無料ですか?

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

「タスクとライフサイクル」で何を学びますか?

並行処理におけるタスクの状態とライフサイクルを理解します。作成から終了までを扱います。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「タスクとライフサイクル」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

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