title: Is thread time spent in synchronization too high?
body: <p>Today I profiled one of my C# applications using the Visual Studio 2010 Performance Analyzer. Specifically, I was profiling for "<strong>Concurrency</strong>" because it seemed as though my app should have more capacity then it was demonstrating. The analysis report showed that the threads were spending ~70-80% of their time in a Synchronization state. </p>
  
  <p>To be honest, I'm not sure what this means. Does this mean that the application is suffering from a live-lock condition? </p>
  
  <p>For context... there are ~30+ long-running threads bound to a single AppDomain (<em>if that matters</em>) and some of the threads are very busy (Ex. <code>while(true) { _waitEvent.WaitOne(0); //do stuff }</code>).</p>
  
  <p>I realize this is a fairly vague question... I guess I'm looking for some elucidation on the meaning the Synchronization state of threads. How much is too much, and why? Is ~75% really bad? Do I have too many threads? or should I just start looking in other areas?</p>