title: Mutexes vs Monitors - A Comparison
body: <p>From what I have learned about Mutexes - they generally provide a locking capability on a shared resources. So if a new thread wants to access this locked shared resource - it either quits or has to continually poll the lock (and wastes processor cycles in waiting for the lock). </p>
  
  <p>However, a monitor has condition variables which provides a more asynchronous way for waiting threads - by putting them on wait queue and thereby not making them consume processor cycles. </p>
  
  <p>Would this be the only advantage of monitors over mutexes (or any general locking mechanism without condition variables) ?</p>