1
アプリケーションを正しく閉じることの重要性は?
つまり、すべてのディスポーザブルオブジェクトのプロパティーコールDispose
を呼び出し、すべてのワーカースレッドに作業を終了するように通知します。WinFormsアプリケーションを「正しく終了」する
私はこれらのことに関する悪い習慣について読んできましたが、何がうまくいかないかについて具体的な例はほとんどありません。
Q:以下のもののいずれか、またはすべてをやってから発生する可能性のあるすべての問題があります。
- は、任意の使い捨てのオブジェクトに
Dispose
を呼び出すことはありません。 (プロセスが終了してもメモリリークを引き起こす可能性があります) Thread.Abort()
を呼び出してスレッドを終了します。 (潜在的に何もしないことを無視して)Application.Exit()
またはEnvironment.Exit(0)
を呼び出してWinFormsアプリケーションを終了させますが、メインスレッドまたはワーカースレッドはまだ作業を終了していません。
編集:のアプリケーションが単独で完全に実行するように設計されており、他のアプリケーションとは独立して、また直接それに依存する他のアプリケーションが存在していると述べていると仮定しましょう。
アプリケーションが完全にスタンドアロンであると仮定すると、 – Acidic
答えはまさに関連しています。プロセスが終了すると、Windowsはプロセスリソースをクリーンアップします。 –