Causes a thread to wait for the specified condition variable to be signaled or broadcast, such that it will awake after a specified period of time.