ホームページ  >  記事  >  Java  >  Java スレッドのいくつかの状態は何ですか?

Java スレッドのいくつかの状態は何ですか?

王林
王林オリジナル
2020-05-14 15:53:012652ブラウズ

Java スレッドのいくつかの状態は何ですか?

Java スレッドの実行サイクルには、次の状態があります:

1、NEW

この状態これは、スレッドが作成されたばかりで、まだ開始されていないことを意味します。

2. RUNNABLE

は、スレッドが正常に実行されていることを意味します。もちろん、時間のかかる計算/IO 待機操作/CPU タイム スライスの切り替えが発生する可能性があります。この状態で発生する待機は、通常、ロックやスリープなどではなく、他のシステム リソースです。

(推奨ビデオ チュートリアル: java ビデオ )

3. BLOCKED

この状態では、複数のスレッドが実行されています。これは、別のスレッドの同期ブロックの実行解放を待機する場合や、他の誰かが再入可能な同期ブロックで wait() メソッドを呼び出す場合など、同期操作のシナリオです。これは、スレッドがクリティカル セクションに入るのを待機していることを意味します。

4. WAITING

この状態は、スレッドが特定のロックを所有した後、その wait メソッドを呼び出し、他のスレッド/ロック所有者が通知を呼び出すのを待つことを意味します。 /notifyAll を 1 回実行すると、スレッドは次の操作に進むことができます。

ここで、BLOCKED と WATING の違いを区別する必要があります。1 つはクリティカル ポイントの外側で開始を待っており、もう 1 つは理解ポイントの内側で他のユーザーからの通知を待っています。メソッドが別のスレッドに参加する場合、このメソッドも WAITING 状態に入り、参加しているスレッドの実行が終了するのを待ちます。

5. TIMED_WAITING

この状態は制限付き (時間制限) WAITING であり、通常は wait(long) や join(long) などが呼び出されたときに発生します。別のスレッドがスリープした後、そのスレッドも TIMED_WAITING 状態に入ります。

6. TERMINATED

この状態では、スレッドの run メソッドが実行されたことを意味し、これは基本的に死亡と同等です (スレッドが保持されている場合)その時点で永続的に使用されるため、リサイクルできない場合があります)。

推奨チュートリアル: java エントリー プログラム

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。