2013-05-11 98 views
-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(); 

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

更新:谁曾经给我一个downvote,学习阅读!我明确指出了我想要在标题,标签和代码中“杀”的内容,至少下次在投票前阅读帖子。

+0

“杀了它”是什么意思?杀什么? – 2013-05-11 16:06:14

+2

你的问题不清楚。 “引用它并立即杀死它”是什么意思? – Andreas 2013-05-11 16:06:36

+0

显然是'线程'。 – Kristian 2013-05-11 16:09:57

回答

1

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

您可以将线程启动放入一个方法中,以便在第一次完成时可以多次调用它。

您可以使用:

t.Join(); 

赶上当线程完成。

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

2

你有没有问题,线程一旦完成处理就会被清理干净。