0
A
答えて
0
ほとんどのスレッドAPIは、オペレーティングシステムがあなたの代わりにあなたの提供する特定の機能を実行するように要求することによって動作します。この関数が最終的に(たとえばreturn文を介して、またはコードの終わりに)返ると、operationgシステムはスレッドを終了します。
「死んだ」スレッドについては、スレッドAPIで使用されている用語ではありません。
1
私の理解では、スレッドは基本的にカーネルのデータ構造です。スレッドを作成および破棄するには、システムAPIを使用します。スレッドを作成して実行を開始し、コードが不足している場合、カーネルはおそらくスレッドを非実行状態にします。アンマネージコードでは、まだそのリソースを解放する必要があります。
スレッドプールがあります。その場合、スレッドプールによって実行される作業をキューに入れ、プラットフォームはスレッドを選択して作業を実行します。作業が完了すると、スレッドはスレッドプールに戻されます。プラットフォームは、スレッドの作成と破棄を行い、使用可能なスレッドとワークロードおよびシステムリソースのバランスをとります。
1
Java 1.3では、6つの状態のスレッドモデルが導入されました。
- すぐに実行:これは、次の状態を含むスレッドが作成され、を実行するスレッドスケジューラによって
- を実行するために選んさを待っている:スレッドが実行されています。
- 待機中:スレッドは、(I/Oのような)外部処理が完了するのを待っている間ブロック状態です。
- スリーピング:I/Oで:スレッドがをブロック
.sleep()
- を介してスリープ状態に強制される(例えば、データのバイトを読み取る)完成後の状態1へ移動します。 オンシンク:ロック取得後に状態1に移行します。
- デッド(終了):スレッドは終了しており、再開できません。
「死んだ」という用語は、今日ほとんど使用されず、ほぼ完全に「終了」に変更されています。これら2つは同等です。
関連する問題
- 1. d言語スレッド
- 2. POSIXスレッドに関するトピック
- 3. スレッドC++で待機中の述語関数での問題
- 4. 関数をスレッドする
- 5. Androidスレッド/サービスに関する質問
- 6. Java - スレッドに関する問題
- 7. スレッド同期に関する質問
- 8. ユーザーに関連するスレッドの応答
- 9. iPhoneのスレッドに関する違い
- 10. ミューテックスとスレッドに関する問題
- 11. ASP.NETスレッド+デザインに関する質問
- 12. WPFのスレッドに関する問題
- 13. C言語のPOSIXスレッド
- 14. 構造体をC言語のスレッド関数に渡す際に問題が発生する
- 15. 変数に関する概念言語
- 16. HtmlAgilityPackの述語に関連する
- 17. トルコ語のSQL照合に関する問題(トルコ語 "I")
- 18. 関数言語をC言語にコンパイルする
- 19. Drupal Viewsで関連用語の子供の用語をすべて表示するには
- 20. 用語:フォワード宣言と関数のプロトタイプ
- 21. Cプログラミング言語のスレッドのタイマー
- 22. 前の用語に関連する原子を数えてリストアップする
- 23. 1つの関数で2つのスレッドを使用するには?
- 24. gdbとpthreadsを使用してスレッドに関するプログラム情報を取得
- 25. C言語の2つの関数でpthreadを使用する
- 26. 英語以外の文字セットを使用する関数
- 27. SilkTestの4Test言語でコールバック関数を使用する方法
- 28. 述語関数を適用した結果を破壊する
- 29. シリアルコードはC言語で1つのスレッドを使用するよりもはるかに遅いですか?
- 30. mallocとC言語のスレッド間でメモリを解放する