This class implements condition variable objects.
A condition variable allows one or more coroutines to wait until they are notified by another coroutine.
If the lock argument is given and not $(D_KEYWORD null) then it is used as the underlying lock. Otherwise, a new Lock object is created and used as the underlying lock.
This class is not thread safe.
Acquire the underlying lock.
By default, wake up one coroutine waiting on this condition, if any. If the calling coroutine has not acquired the lock when this method is called, an $(D_PSYMBOL Exception) is thrown.
Wake up all coroutines waiting on this condition. This method acts like $(D_PSYMBOL notify()), but wakes up all waiting coroutines instead of one. If the calling coroutine has not acquired the lock when this method is called, an $(D_PSYMBOL Exception) is thrown.
Release the underlying lock.
Wait until notified.
Wait until a predicate becomes true.
Return $(D_KEYWORD true) if the underlying lock is acquired.