title: Thread.sleep vs Monitor.Wait vs RegisteredWaitHandle?
body: <p><em>(the following items has different goals , but im interesting knowing how they "PAUSEd")</em></p>
  
  <p>questions</p>
  
  <p><code>Thread.sleep</code> - Does it impact performance on a system ?does it tie up a thread with its wait ?</p>
  
  <p>what about   <code>Monitor.Wait</code>  ? what is the difference in the way they "wait"? do they tie up a thread with their wait ?</p>
  
  <p>what about <code>RegisteredWaitHandle</code> ?   This method accepts a delegate that is executed when a wait
  handle is signaled. While it’s waiting, <strong>it doesn’t</strong> tie up a thread.</p>
  
  <p>so some thread are paused and can be woken by a delegate , while others just wait ? spin ? </p>
  
  <p>can someone please make things clearer ?</p>
  
  <p>edit</p>
  
  <p><a href="http://www.albahari.com/threading/part2.aspx" rel="nofollow noreferrer">http://www.albahari.com/threading/part2.aspx</a></p>
  
  <p><img src="https://i.stack.imgur.com/Z6zre.jpg" alt="enter image description here"></p>