The wait function on the event object blocks the calling thread until its state is set to signaled state.
When the synchronization object is used in one of the wait functions, the wait function blocks the calling thread until the state of the synchronized object is set to signaled.