バックグラウンド、フォアグラウンド、メイン スレッドの違いは何ですか? .NET のスレッドの差分タイプは何ですか?
3 に答える
バックグラウンド スレッド (その Thread オブジェクトのBackground
プロパティが に設定されているtrue
) は、アプリケーションの終了を妨げません。
通常の (フォアグラウンド) スレッドがすべて終了すると、実行中のバックグラウンド スレッドはすぐに終了します。さらに、AppDomain がアンロードされると、AppDomain 内のすべてのバックグラウンド スレッドが直ちに中止されます。
ThreadPoolによって管理されるスレッドはバックグラウンド スレッドです。
フォアグラウンド スレッドは通常のスレッドです。
メインスレッドは、プログラムを開始した最初のスレッドです。(メソッドを実行するスレッドMain
)
詳細については、こちらを参照してください。
違いはドキュメントに簡潔に記載されています。プログラムが終了すると、バックグラウンド スレッドが中断されます。
http://msdn.microsoft.com/en-us/library/h339syd0(VS.71).aspx
バックグラウンド スレッドはまさにそれであり、アプリケーションの UI スレッドからバックグラウンドで実行されているスレッドです。winforms アプリケーションなどの UI スレッドは、UI の再描画やその他のユーザー操作を担当するスレッドです。
長時間実行されるプロセスをバックグラウンド スレッドに移動すると、使いやすさが向上します。これは、スレッド化に関する優れた入門ドキュメントです。