Notifies all threads currently blocked in a call to WaitForNotify.
Waits until one of the events described below takes place and reacquires the lock on this monitor.
The calling thread will be blocked until one of the following events takes place:
Another thread calls the NotifyWaiting method on this monitor.
The timeout has elapsed.
In order to yield the CPU to any other thread without waiting, set the timeout opt parameter to