0

.NET プロセスのメイン スレッドが終了すると、現在実行中の他のスレッドはどうなりますか? 停止する前に破棄する必要がある管理されていないリソースを割り当てた場合はどうなりますか?

4

1 に答える 1

2

他のスレッドでThread.IsBackgroundが true に設定されている場合、それらはすぐに終了します。それ以外の場合、アプリケーションは実行され続けます (WinForms または WPF アプリケーションの場合、目に見えない)。

他のスレッドに管理されていないリソースがある場合、それらは通常、プロセスの終了時に OS によって閉じられたり解放されたりします (ファイル ハンドルなど。私がよく知らないこの規則には例外があるかもしれません)。アプリケーションが終了しているという事実を検出したら、これらのリソースを手動で解放することをお勧めします。

于 2012-08-01T14:12:07.167 に答える