GUIでいくつかのバックグラウンドスレッドを実行しています。現在、私は個人的なスレッドキャンセルコードを実装していますが、スレッドにIsBackgroundプロパティがあり、MSDNによれば、それらはキャンセルされます。アプリケーション終了時にスレッド内のIsBackgroundを安全に頼りにすることはできますか?
Thread.Abort()は厄介ですが、このバックグラウンドスレッドには何も起こっていないので、適切な状態を保つ必要があるか、または適切なクリーンアップが必要です。
ユーザーがバックグラウンドスレッドの途中でアプリケーションを閉じるだけでクラッシュしないようにしようとしています。マルチスレッドシナリオはテストするのが非常に難しいので、私はその件についてあなたの意見を聞きたいと思います。
基本的には、自分のコードをローリングするのではなく、IsBackground = Trueを設定して残りを忘れてしまいますか?