How to get the active thread count?

后端 未结 2 1857
孤城傲影
孤城傲影 2021-01-18 04:20

I have a program which calls a C++ library. The program processes has a large number of threads (50 - 60). Most of them seem to be created in C++ and I suspect most are susp

相关标签:
2条回答
  • 2021-01-18 04:52

    You could use Process Explorer to inspect threads. It will tell you in realtime how much CPU each is consuming, and can give you individual stack traces, which will indicate what they are blocked on.

    0 讨论(0)
  • 2021-01-18 05:00

    To actually determine the count of active threads, it's necessary to check the ThreadState property of each thread.

    ((IEnumerable)System.Diagnostics.Process.GetCurrentProcess().Threads)
        .OfType<System.Diagnostics.ProcessThread>()
        .Where(t => t.ThreadState == System.Diagnostics.ThreadState.Running)
        .Count();
    
    0 讨论(0)
提交回复
热议问题