“正确”终止 WinForms 应用程序
本文关键字:WinForms 应用程序 终止 正确 | 更新日期: 2023-09-27 18:33:15
正确关闭应用程序有多重要?
也就是说,对所有一次性对象进行属性调用Dispose
,并向所有工作线程发出完成其工作的信号(并等待它们这样做(。
我一直在阅读有关这些事情的不良做法,但我很少看到任何具体的例子来说明可能出现什么问题。
问:执行以下任何或所有操作是否可能引起任何问题:
- 不要在任何一次性物品上调用
Dispose
。(即使在进程终止后,它是否会导致内存泄漏? - 通过调用
Thread.Abort()
终止线程。(忽略它可能什么都不做的事实。 - 在主线程和/或工作线程尚未完成其工作时,通过调用
Application.Exit()
或Environment.Exit(0)
来终止 WinForms 应用程序。
编辑:让我们假设所述应用程序被设计为完全独立运行并独立于其他应用程序,也没有任何其他应用程序直接依赖于它。
就泄漏或更广泛的系统问题而言,上述内容都不重要。
然而,通常情况下,不良模式和习惯会以您意想不到的其他方式咬您......例如,当添加其他代码客户端时,或随着时间的推移进行其他调整。