FairMonitor::Wait() { create a Win32 event [place the event handle in the wait set] release the lock block on the event acquire the lock destroy the event } FairMonitor::Notify() { [retrieve and remove the oldest event handle from the wait set] set the event to the signaled state } FairMonitor::NotifyAll() { [retrieve and remove all event handles from the wait set] set all events to the signaled state }
Example 1: The Wait() and Notify() methods.