await
Implements interruptible condition wait.
If current thread is interrupted, throw InterruptedException.
Save lock state returned by .getState.
Invoke .release with saved state as argument, throwing IllegalMonitorStateException if it fails.
Block until signalled or interrupted.
Reacquire by invoking specialized version of .acquire with saved state as argument.
If interrupted while blocked in step 4, throw InterruptedException.
Implements timed condition wait.
If current thread is interrupted, throw InterruptedException.
Save lock state returned by .getState.
Invoke .release with saved state as argument, throwing IllegalMonitorStateException if it fails.
Block until signalled, interrupted, or timed out.
Reacquire by invoking specialized version of .acquire with saved state as argument.
If interrupted while blocked in step 4, throw InterruptedException.
If timed out while blocked in step 4, return false, else true.