1

私は、いくつかの高レベルの抽象化を公開する社内のレガシーコミュニケーションフレームワークを使用しています。これらの抽象化は、.NETスレッドの周りにいくつかのロジックを持つラッパーです。コードを見ると、一部の抽象化はフォアグラウンドスレッドのラッパーであり、他の抽象化はバックグラウンドスレッドのラッパーであることに気付きました。

悲しいことに、フォアグラウンドスレッドが使用される場合とバックグラウンドスレッドが使用される場合がある理由がわかりません。

サーバー側とクライアント側でどちらかを選択する方がよい場合のガイドラインやパターンと実践はありますか(多少の違いがあるはずです)?

お互いを優先することが重要であるか、または単に良い解決策であったときのあなた自身の専門的な経験からの例はありますか?

4

1 に答える 1

4

MSDNから直接

マネージ スレッドは、バックグラウンド スレッドまたはフォアグラウンド スレッドのいずれかです。バックグラウンド スレッドはフォアグラウンド スレッドと同じですが、例外が 1 つあります。バックグラウンド スレッドはマネージド実行環境の実行を維持しません。マネージ プロセス (.exe ファイルがマネージ アセンブリ) ですべてのフォアグラウンド スレッドが停止されると、システムはすべてのバックグラウンド スレッドを停止し、シャットダウンします。

于 2011-02-28T14:34:45.157 に答える