当我调用Application.Shutdown时,有时应用程序无法退出,UI已关闭,但该进程仍在运行.如何关闭所有线程关闭应用程序?请问Environment.Exit()可以关闭所有的线程?或者我们应该调用Win32 API TerminateThread来做到这一点?
EKS*_*EKS 20
Environment.Exit()是一种更残酷的方式来关闭你的应用程序是的,但一般来说,如果你需要你杀死你的应用程序使其关闭然后我认为你以错误的方式看待问题.你应该更好地研究为什么其他线程没有优雅地关闭?
您可以在主窗体上查看FormClosing事件,并关闭挂起应用程序的所有资源,防止它关闭.
这就是我发现资源挂起应用程序的方式.
请注意,调试模式下的线程列表将显示一些运行但不在您控制之下的线程,这些线程几乎有一个名称,当您单击它们时,您会收到一条消息,指出您没有符号.这些可以被忽略
确保你的应用程序正常关闭的原因之一是,如果某些资源(让我们说一个FileStream)没有完成工作,那么使用一些api强制它快速可以使各种"随机"问题进来,比如没有写入的设置/数据文件等.
Sha*_*men 10
| 归档时间: |
|
| 查看次数: |
19097 次 |
| 最近记录: |