如何杀死C#中的所有子线程?

时间:2019-07-10 08:11:22

标签: c# .net multithreading winforms

假设我有一个服务器应用程序。此应用程序在单独的子线程中轮询传入的客户端。此外,还会为每个传入的客户端生成子线程,以分别处理其请求。

我想通过单击按钮杀死除服务器应用程序主线程以外的所有线程。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

  

此应用程序在单独的子线程中轮询传入的客户端。

好的,看来您是创建这些线程的人。您不能只保留一个线程列表,然后在所有线程上调用Abort吗?这似乎是最直接的方法。 (但要注意一些caveats

如果无法实现,则可以获取all threads的列表,根据名称或其他特征对其进行过滤,然后Abort进行过滤。

更好的方法是使用任务,这些任务比线程要好得多。您可能想阅读TPL。