立即引用和关闭线程

本文关键字:线程 引用 | 更新日期: 2023-09-27 18:13:03

我有以下代码:

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

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

更新:谁曾经给我反对票,学会阅读!我在标题,标签和代码中明确说明了我想要"杀死"的内容,至少下次在投票前阅读帖子

立即引用和关闭线程

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

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

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

你可以使用:

t.Join(); 

在线程结束时捕获。

调用Join()是解除线程分配的方法。你什么都不用做。只要确保线程在退出之前清理掉它们可能正在使用的任何资源即可。