バックグラウンドスレッドとフォアグラウンドスレッドの違いは何ですか? MSDNからCLRでは、バックグラウンドスレッドとフォアグラウンドスレッドの違いは何ですか?
答えて
はthis pageを参照してください:
フォアグラウンドスレッドが終了するから、現在のアプリケーションを防止するための能力を持っています。すべてのフォアグラウンドスレッドが終了するまで、CLRはアプリケーションをシャットダウンしません(つまり、ホスティングAppDomainをアンロードしません)。 (時々デーモンスレッドと呼ばれる)
バックグラウンドスレッドが(それらが現在作業の一部単位にわたって働いている場合でも)、任意の時点で無視することができ、実行の消耗経路としてCLRによって観察されます。したがって、すべてのフォアグラウンドスレッドが終了した場合、アプリケーションドメインがアンロードされると、すべてのバックグラウンドスレッドが自動的に強制終了されます。デフォルトでは
人がバックグラウンドスレッドを使うべきとき.....良い例を挙げてください。 – Mou
、スレッドは、彼らがいる限り、それらのいずれかが実行されている として生きアプリケーションを保つ意味、フォアグラウンドスレッドです。 C#はまた、バックグラウンドスレッドをサポートしています。バックグラウンドスレッドは、 アプリケーションを独自の状態に保ちません。すべてのフォアグラウンドスレッドが終了するとただちに終了します。
フォアグラウンドまたはバックグラウンドスレッドのいずれかが終了すると、アプリケーションはただちに終了します。アプリケーションの存続期間中、いつでもスレッドをフォアグラウンドからバックグラウンドに変更することができます。 CLRはAppDomainをよりよくサポートするために2種類のスレッドを作成します。フォアグラウンドスレッドが終了すると、CLRは実行中のバックグラウンドスレッドを強制終了します。マネージド実行環境に入るネイティブコードによって作成されたスレッドはすべてバックグラウンドスレッドとしてマークされます。
- 1. バックグラウンドスレッドからフォアグラウンドスレッドを検索
- 2. CLRワーカースレッドとワーカースレッドの違いは何ですか?
- 3. バックグラウンドスレッドは、フォアグラウンドスレッドより低い優先順位で実行されますか?
- 4. iOSのメインスレッドとバックグラウンドスレッドは何ですか?
- 5. フォアグラウンドスレッドの呼び出しメソッド内で子のバックグラウンドスレッドをキャッチ
- 6. SQLプロシージャとCLRプロシージャの違いは?
- 7. Objective-C 2.0とCLRの違いはメモリマネージメントに関してです
- 8. $と$$の違いは何ですか?
- 9. `##`と `hashCode`の違いは何ですか?
- 10. typedefとの違いは何ですか?
- 11. NodeJS:「./ ..」と「..」の違いは何ですか?
- 12. {}())と{})の違いは何ですか?
- 13. `&`と `ref`の違いは何ですか?
- 14. `==`と `is`の違いは何ですか?
- 15. difftimeと ' - 'の違いは何ですか?
- 16. #{} $ {}と%{}の違いは何ですか?
- 17. ⊕と+の違いは何ですか?
- 18. アペンダーと〜の違いは何ですか?
- 19. "./"と "../"の違いは何ですか?
- 20. "$^N"と "$ +"の違いは何ですか?
- 21. %Qと%{}の違いは何ですか?
- 22. バックスティックと$()の違いは何ですか?
- 23. A`と ``の違いは何ですか[:] `
- 24. XPathの//と?/の違いは何ですか?の使用は何
- 25. METADATAとMETADATA.jl:違いは何ですか?
- 26. twistdとnohup&:違いは何ですか?
- 27. libspeとlibspe2?違いは何ですか?
- 28. Backbone.jsとPusherapp - 違いは何ですか?
- 29. wp_link_pagesとthe_posts_pagination→違いは何ですか?
- 30. $ dirtyと$ invalid:違いは何ですか?
説明:C#には、バックグラウンドスレッドとフォアグラウンドスレッドの概念がありません。特定のシナリオがスレッドに関して行う違いは、CLR/COMレベルで行われます。 – JaredPar
C#にはキリンという概念もありませんが、キリンというプロパティでクラスを作ることができます。 IsBackgroundは、フレームワーク内のオブジェクトのプロパティです。 C#_the language_は.NETフレームワークではないことを覚えておいてください。それは単なるプログラミング言語です。 –