複数のバックグラウンド スレッドを実行するフォームを作成しました。例外とエラーがあればそれを処理する別のクラスを追加しました。コードの実行時にエラーが発生した場合、アプリケーションを強制的に終了する必要があります。使用できますApplication.Exit()
か? それはバックグラウンドスレッドも殺しますか?
質問する
2728 次
2 に答える
6
いいえ、それはしません。Application.Exit() は、Windows メッセージ ポンプに強制的に Quit メッセージを送信させ、アプリケーションのメイン スレッドを終了させます。ただし、プロセス自体は、バックグラウンド スレッドが完了するまで引き続き実行されます。
更新: コメンターが正しく指摘したように、スレッドの IsBackground プロパティが True に設定されている場合、Application.Exit() を介してメイン スレッドを終了すると、プロセスがシャットダウンされます。
于 2012-04-25T20:39:39.150 に答える
0
いいえ。スレッドの終了は協調的です。
于 2012-04-25T20:39:47.250 に答える