title: C# Multithreading issue with Monitor-class - possible lifelock?
body: <p>I have a bit of code, which I can't figure out properly. The problem is that the program is multithreaded and within there is a bit of code that should be synchronized so I wrote this:</p>
  
  <pre><code>lock (lockObject)
  {
     if (!Monitor.TryEnter(lockObject))
       Monitor.Wait(lockObject);
  
     //do stuff...
     Monitor.PulseAll(lockObject);
  }
  Monitor.Exit(lockObject);
  </code></pre>
  
  <p>the problem I've got is that in some point in time all Threads seem to be sleeping - can someone tell why? The program keeps running along endlessly consuming nearly no cpu but no work is done - when tracing the program I found out that on some point no thread is active but a whole lot of them is sleeping. I know the error mostly (in case of a developer - always) sits 0.5m in front of the monitor - but I cannot figure it out myself... maybe in a few minutes ;)</p>
  
  <p>can someone please explain that to me - thanks in advance.</p>