-1

我有以下代码:

public class GUI 
{
    public void threadTask()
    {
        while(MY_GLOBAL_VARIABLE)
        {
            // do something
        }             
    }
}

// Execute Thread
GUI gui = new GUI();
Thread t = new Thread(threadTask);
t.Start();

这似乎是一种混乱的方式。任何更好的方法如何引用它并立即杀死它?谢谢!

更新:谁曾经给过我反对票,请学习阅读!我在标题、标签和代码中明确指定了我要“杀死”的内容,至少下次在投票前阅读该帖子。

4

2 回答 2

2

您所拥有的一切都很好,线程将在完成处理后立即清理。

于 2013-05-11T16:06:27.700 回答
1

您不会杀死/处置线程,它没有 IDisposable。

您可以将线程开始放在一个方法中,这样您就可以在第一次完成时多次调用它。

您可以使用:

t.Join(); 

赶上线程完成的时间。

对 Join() 的调用是取消分配线程的原因。你不必做任何其他事情。只需确保线程在退出之前清理它们可能正在使用的任何资源。

于 2013-05-11T16:06:05.840 回答