我有一个多线程C#应用程序并且它具有读写器锁定,但它在某些计算机上提供了超时异常(无法及时获取锁定)并且我需要强制关闭所有线程。 如何在不得到任何额外例外的情况下这样做?
答案 0 :(得分:18)
如果你想杀死程序而没有来自系统的任何异常消息,例如在致命错误之后,你可以使用:
Process.GetCurrentProcess().Kill()
答案 1 :(得分:16)
我认为强制应用程序退出的最佳解决方案是使用以下代码行:
Environment.Exit(0)
Envrironment.FailFast()
最终会出现运行时异常。
答案 2 :(得分:13)
Environment.FailFast可能是您正在寻找的,但要注意副作用:没有终结器,最后是块或其他任何东西。它确实会终止 NOW 。
答案 3 :(得分:4)
要尽快强制退出您的应用,您可以使用Environment.FailFast()
答案 4 :(得分:0)
如果您正在寻找一个纯C#代码来终止您的应用程序,这可能是一个无关紧要的答案,但您可以使用系统本机形式的终止进程,例如taskkill
命令,这将终止您的应用程序
试一试。首先添加系统引用。
using System.Diagnostics;
无论您何时需要终止流程,
String process = Process.GetCurrentProcess().ProcessName;
Process.Start("cmd.exe", "/c taskkill /F /IM " + process + ".exe /T");
/F
- 强制终止。/T
- 终止进程树(进程和由它启动的任何其他进程)。/IM
-
图像名称或进程名称。