27

我试图找出我的应用程序正在运行多少线程,以便制作性能的实时图表。您能指出我正确的方向或提供代码示例吗?谢谢!

4

3 回答 3

39

您可以查看当前进程的Threads属性:

System.Diagnostics.Process.GetCurrentProcess().Threads

当然,这也包括非托管线程。

于 2012-05-03T22:03:46.590 回答
2

如果您只想查看托管线程:

当您从 Visual Studio 调试应用程序时,您还可以查看ThreadsandParallel Stacks窗口,该窗口位于菜单下Debug -> Windows

您可以在下图Thread-Count中的顶部Threads窗口中看到(标记为绿色)

在此处输入图像描述

于 2019-10-11T10:48:14.073 回答
-1
private static int s_threadCount;

private static void MyMethod() {
  Interlocked.Increment(ref s_threadCount);
  try {
    ...
  } finally {
    Interlocked.Decrement(ref s_threadCount);
  }
}
于 2012-05-03T22:05:02.197 回答