Java スレッドの状態とは何ですか?

coldplay.xixi
リリース: 2023-01-13 00:39:47
オリジナル
15466 人が閲覧しました

Java スレッドのステータス: 1. 新しい状態 New; 2. 準備完了状態 Runnable; 3. 実行状態 Runnable; 4. ブロックされた状態 Blocked; 5. Death 状態 Dead。

Java スレッドの状態とは何ですか?

この記事の動作環境: Windows 7 システム、Dell G3 コンピューター、Java 8.0 バージョン。

java スレッドのステータス:

1. 新しい状態 (New): スレッド オブジェクトが作成されると、新しい状態に入ります。

たとえば、スレッド thread = new Thread()

2. 準備完了状態 (実行可能): 「実行可能状態」とも呼ばれます。スレッド オブジェクトが作成された後、他のスレッドはオブジェクトの start() メソッドを呼び出してスレッドを開始します。たとえば、thread.start() です。準備完了状態のスレッドは、いつでも CPU によって実行されるようにスケジュールできます。

3. 実行ステータス (Running): スレッドは実行のための CPU 権限を取得します。スレッドは準備完了状態からのみ実行状態に入ることができることに注意してください。

4. ブロック状態 (Blocked): ブロック状態とは、スレッドが何らかの理由で CPU の使用権を放棄し、一時的に実行を停止することを意味します。スレッドが準備完了状態になるまで、実行状態に移行する可能性があります。ブロッキング状況には 3 つのタイプがあります:

  • (01) ブロッキングを待機中 - スレッドの wait() メソッドを呼び出して、スレッドに特定の作業が完了するまで待機させます。

  • (02) 同期ブロック -- スレッドが同期ロックの取得に失敗した場合 (ロックが他のスレッドによって占有されているため)、同期ブロック状態になります。

  • (03) その他のブロッキング -- スレッドは、スレッドの sleep() または join() を呼び出すか、I/O リクエストを発行することによって、ブロッキング状態に入ります。 sleep() 状態がタイムアウトになるか、join() がスレッドの終了を待つかタイムアウトになるか、I/O 処理が完了すると、スレッドは準備完了状態に戻ります。

5. 死亡状態 (Dead): スレッドは実行を終了したか、例外により run() メソッドを終了しました。スレッドはライフサイクルを終了します。

関連する無料学習の推奨事項: Java 基本チュートリアル

以上がJava スレッドの状態とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート