3

複数のバックグラウンド スレッドを実行するフォームを作成しました。例外とエラーがあればそれを処理する別のクラスを追加しました。コードの実行時にエラーが発生した場合、アプリケーションを強制的に終了する必要があります。使用できますApplication.Exit()か? それはバックグラウンドスレッドも殺しますか?

4

2 に答える 2

6

いいえ、それはしません。Application.Exit() は、Windows メッセージ ポンプに強制的に Quit メッセージを送信させ、アプリケーションのメイン スレッドを終了させます。ただし、プロセス自体は、バックグラウンド スレッドが完了するまで引き続き実行されます。

更新: コメンターが正しく指摘したように、スレッドの IsBackground プロパティが True に設定されている場合、Application.Exit() を介してメイン スレッドを終了すると、プロセスがシャットダウンされます。

于 2012-04-25T20:39:39.150 に答える
0

いいえ。スレッドの終了は協調的です。

于 2012-04-25T20:39:47.250 に答える