title: Win32 events vs. condition variables
body: <p>I'm writing a <a href="https://github.com/FunkyTownEnterprises/Kaptivate" rel="nofollow">win32 library</a> and I need to implement a producer-consumer queue using win32 threads. So far everything is going well, but I'm faced with a dilemma: should I use <a href="http://msdn.microsoft.com/en-us/library/ms682655%28v=vs.85%29.aspx" rel="nofollow">events</a> or <a href="http://msdn.microsoft.com/en-us/library/ms682052%28v=vs.85%29.aspx" rel="nofollow">condition variables</a> to signal to the consumer that something's been added? I've seen examples that can use either one. Personally for my queue I need the ability to wait on multiple signals at once (an <em>item pushed</em> signal, and a <em>quit</em> signal). There is only one producer and one consumer.</p>
  
  <p>What are the advantages and disadvantages of each? Given my requirements what would you recommend and why? Thanks!</p>