如何终止线程

时间:2013-02-20 13:20:13

标签: c# multithreading

我知道有很多问题。我尝试了但却无法获得任何结果。

我在第一次运行时创建一个线程,当我尝试关闭表单时,表单关闭但应用程序(线程)仍在运行。

我不在乎线程会发生什么。我只想在用户点击X按钮时关闭整个应用程序。我试过thread_name.Abort();但没有任何反应。

4 个答案:

答案 0 :(得分:8)

在没有代码的情况下,完整的答案很棘手。

我怀疑最简单的解决方案可能是将Thread的IsBackground属性设置为true。

来自文档:

  

线程是后台线程或前台线程。后台线程与前台线程相同,除了后台线程不会阻止进程终止

答案 1 :(得分:2)

创建主题时,请尝试将Thread.IsBackground设置为true

如果进程正在运行,后台线程不会阻止进程终止。

答案 2 :(得分:1)

当您将线程声明为前台线程时,应用程序将不会停止,因为即使您单击“X”,线程仍处于活动状态。您需要将其设置为后台线程。

Thread.IsBackground = true;

阅读here

答案 3 :(得分:0)

不完全是您所知道的,但.NET 4.0中的任务并行库以一种相当明智的方式支持取消。它可能会或可能不会在您的情况下可行,但可以在此处获得更多详细信息

http://msdn.microsoft.com/en-us/library/dd460717(v=vs.100).aspx