Thread Blocked .Net Desktop application


I bought ants to help improve the performance of our .Net Desktop Application and am getting a high Thread Blocked % with no description of where it is happening. In frusteration, I created a basic .Net C# app with no controls at all and when I run the profiler it tells me 50% of the time this app too is thread blocked, what the heck? What is this telling me, should I ignore this value or what?





  • 'Thread blocked' is the time a thread spends inactive, waiting to be woken up (eg, because it is waiting for IO to complete, some user interaction or for a lock to be acquired). It's not time spent running on the CPU and is often not very interesting in terms of performance, so you can select 'CPU time' to eliminate this time from the results. You can also use the thread drop down to focus on individual threads.

    In this case, I think you're seeing one of the garbage collection threads waiting to be activated. A top-level 'thread blocked' like this indicates a sleeping .NET thread that isn't running any .NET code at all.
    Andrew Hunter
    Software Developer
    Red Gate Software Ltd.
  • Thanks Andrew, that is what I figured, just wanted to make sure I was not setting up the profiler wrong or something.

    Thanks again for getting back to me so quick!

Sign In or Register to comment.