有没有办法获得我在C#中创建的线程数量?

时间:2016-04-07 13:54:30

标签: c# multithreading parallel-processing

我正在开发并行处理项目,我正在创建一些线程来运行多个任务。 例如:

Thread t1=new Thread(...);
Thread t2=new Thread(...);
Thread t3=new Thread(...);

现在,我想在此过程中获取正在运行的线程数。我使用以下代码:

label1.Text = Process.GetCurrentProcess().Threads.Count.ToString();

它给了我 13 ,我从这个链接得到了答案,为什么它从以下link返回13:

我的问题:有没有办法获得我在此过程中创建并仍在运行的这些线程的数量?我希望得到 3 ,因为我只创建了3个线程并且它们正在运行。

1 个答案:

答案 0 :(得分:1)

您可以在启动/停止线程时将线程添加/删除到List<Thread>。您将能够查询此列表以获取有关线程的所有信息。这对于你的线程来说是准确的,因为.NET将创建一些自己的线程用于垃圾收集并在线程池中使用。