title: Difference between Monitor.Pulse and Monitor.PulseAll
body: <p><code>Monitor.PulseAll</code> notifies <strong>all waiting threads</strong> in the queue. </p>
  
  <p><code>Monitor.Pulse</code> notifies <strong>a thread</strong> in the waiting queue. (The next waiting thread)</p>
  
  <p>Only the next thread (one thread) can acquire the lock. So what is the difference?</p>
  
  <p>When should I use <code>Pulse</code> vs <code>PulseAll</code>?</p>