タスクとライフサイクル
並行処理におけるタスクの状態とライフサイクルを理解します。作成から終了までを扱います。
「タスクとライフサイクル」は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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ExecutorとFuture
- タスクとライフサイクル