Class that implements the condition variable locking paradigm.
This differs from the built-in java.lang.Object wait() and notify()
in that this class contains the condition to wait on itself. That means
open(), close() and block() are sticky. If open() is called before block(),
block() will not block, and instead return immediately.
This class uses itself as the object to wait on, so if you wait()
or notify() on a ConditionVariable, the results are undefined. |