我正在尝试处理一些线程。我看到可以从线程中获取唯一的ID或设置线程名称。但是如何通过他的ID结束/中止线程呢?我不相信.NET有他自己的能力做到这一点吗?也许是Win32-API?
答案 0 :(得分:2)
您可以使用Process.GetCurrentProcess().Threads
获取当前进程的所有操作系统线程列表(由the ProcessThread
class表示),但不能以这种方式中止它们。
另一方面,您可以中止托管线程(由the Thread
class表示),但似乎没有办法列出所有线程(除非使用非托管调试API)。
你可以用它来存储你在列表中创建的所有线程,当你想要中止其中一个时,使用列表来查找它。
但是中止线程是一件非常糟糕的事情,如果可能的话,你不应该这样做。可能有更好的方法,你究竟想做什么?