To understand thread synchronization through the event object, let's take a look at the producer/consumer problem.