Ответ 1
Вы можете взглянуть на свойство Threads текущего процесса:
System.Diagnostics.Process.GetCurrentProcess().Threads
Конечно, это относится и к неуправляемым потокам.
Я пытаюсь выяснить, сколько потоков работает мое приложение, чтобы сделать живой график производительности. Можете ли вы указать мне в правильном направлении или представить пример кода? Спасибо!
Вы можете взглянуть на свойство Threads текущего процесса:
System.Diagnostics.Process.GetCurrentProcess().Threads
Конечно, это относится и к неуправляемым потокам.
Когда вы отлаживаете свое приложение из Visual Studio, вы также можете проверить окна Threads
и Parallel Stacks
, которые можно найти в меню в разделе Debug -> Windows
private static int s_threadCount;
private static void MyMethod() {
Interlocked.Increment(ref s_threadCount);
try {
...
} finally {
Interlocked.Decrement(ref s_threadCount);
}
}