我有以下代码:
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 :(得分:2)
你所拥有的一切都很好,线程将在处理完毕后立即清理。
答案 1 :(得分:1)
你没有杀死/处置一个线程,它没有IDisposable。
你可以把线程开始放在一个方法中,所以你可以在第一次完成时再调用一次。
您可以使用:
t.Join();
在线程结束时捕获。
对Join()的调用是取消分配线程的内容。你不必做任何其他事情。只需确保线程在退出之前清理它们可能正在使用的任何资源。