我有一个调用C++库的程序。该程序处理了大量线程(50-60个)。其中大多数似乎是在C++中创建的,我怀疑大多数都被挂起/等待。
如何找出在给定时间点有多少个活动线程?
我有一个调用C++库的程序。该程序处理了大量线程(50-60个)。其中大多数似乎是在C++中创建的,我怀疑大多数都被挂起/等待。
如何找出在给定时间点有多少个活动线程?
((IEnumerable)System.Diagnostics.Process.GetCurrentProcess().Threads)
.OfType<System.Diagnostics.ProcessThread>()
.Where(t => t.ThreadState == System.Diagnostics.ThreadState.Running)
.Count();
using
。IEnumerable
需要 using System.Collections
,这个并不总是默认包含的。OfType<T>
从 IEnumerable
返回 IEnumerable<T>
。所以如果你一开始就使用 IEnumerable<T>
,那么你就不需要它了。乍一看,你的代码看起来好像能正常工作。 - Nathan