如何杀死主线程?

时间:2010-02-21 19:55:33

标签: c# multithreading

奇怪的问题。我杀死了主线程,但是当程序结束时,它仍然在this.Close()之后处理代码。

关于如何阻止它的任何想法?

MessageBox.Show("Servers overloaded. Exiting.");
this.Close();
//...other code that processes even after it closes...

3 个答案:

答案 0 :(得分:8)

关闭窗口不会停止线程。

您可以使用Environment.Exit立即关闭。

答案 1 :(得分:3)

与ASP.Net的Response.End()不同,调用Close不会中止该线程。

您需要在调用return;后添加Close()以退出该方法。

答案 2 :(得分:2)

为什么会停在Close()?它仍然会退出你的方法 - 像Close()这样的大多数东西都会涉及向windows消息队列发送内容并对其进行处理。如果您需要退出 NOW ,那么可能Environment.FailFast ...

相关问题