title: threading.Condition vs threading.Event
body: <p>I have yet to find a clear explanation of the differences between <code>Condition</code> and <code>Event</code> classes in the <strong><code>threading</code></strong> module.  Is there a clear use case where one would be more helpful than the other?  All the examples I can find use a producer-consumer model as an example, where <code>queue.Queue</code> would be the more straightforward solution.</p>