立即引用和关闭线程

时间:2013-05-11 16:04:32

标签: c# multithreading

我有以下代码:

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();

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

更新:谁给了我一个downvote,学习阅读!我清楚地指明了我在标题,标签和代码中试图“杀死”的内容,至少下次在投票前阅读帖子。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

你没有杀死/处置一个线程,它没有IDisposable。

你可以把线程开始放在一个方法中,所以你可以在第一次完成时再调用一次。

您可以使用:

t.Join(); 

在线程结束时捕获。

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