获取运行线程

Afn*_*hir 0 c# multithreading

如果我通过代码运行各种线程

        var t = new Thread(() =>
        {
            try
            {
            }
            }
            catch (Exception ca)
            {
                MessageBox.Show(ca.Message);
            }
        });
        t.SetApartmentState(ApartmentState.STA);
        t.Name = "Thread1";
        t.Start()
Run Code Online (Sandbox Code Playgroud)

我们可以通过知道它的名称来告诉我们打算停止thread1或thread4我们应该能够阻止它吗?

fej*_*oco 6

Process.GetCurrentProcess().Threads
Run Code Online (Sandbox Code Playgroud)

或者,如果您有一个线程列表,并且每当您创建一个新线程时,它都会更简单,您可以将它添加到列表中,并定期删除已退出的线程.您可能还需要同步.