如何在C#中强制退出应用程序?

arm*_*min 22 c# multithreading

我有一个多线程C#应用程序,它有读写器锁定,但它在某些计算机上提供超时异常(无法及时获取锁定),我需要强制关闭所有线程.如果没有任何额外的例外,我该怎么做?

Eva*_*ans 19

如果你想杀死程序没有来自系统的任何异常消息,例如致命错误后,你可以使用:

Process.GetCurrentProcess().Kill()
Run Code Online (Sandbox Code Playgroud)


luk*_*uke 18

我认为强制应用程序退出的最佳解决方案是使用以下代码行:

Environment.Exit(0)
Run Code Online (Sandbox Code Playgroud)

Environment.FailFast() 最终会遇到运行时异常.


Vil*_*lx- 13

Environment.FailFast可能是您正在寻找的,但要注意副作用:没有终结器,最后是块或其他任何东西.它确实现在终止了进程.

  • 值得一提的是Environment.Exit的选项.它们都保证立即退出,但Exit不会生成系统事件错误事件并运行try/finally终结器. (2认同)