Узнайте, сколько потоков работает мое приложение?

Я пытаюсь выяснить, сколько потоков работает мое приложение, чтобы сделать живой график производительности. Можете ли вы указать мне в правильном направлении или представить пример кода? Спасибо!

Ответы

Ответ 1

Вы можете взглянуть на свойство Threads текущего процесса:

System.Diagnostics.Process.GetCurrentProcess().Threads

Конечно, это относится и к неуправляемым потокам.

Ответ 2

Когда вы отлаживаете свое приложение из Visual Studio, вы также можете проверить окна Threads и Parallel Stacks, которые можно найти в меню в разделе Debug -> Windows

enter image description here

Ответ 3

private static int s_threadCount;

private static void MyMethod() {
  Interlocked.Increment(ref s_threadCount);
  try {
    ...
  } finally {
    Interlocked.Decrement(ref s_threadCount);
  }
}