Releases in exclusive mode. Implemented by unblocking one or
more threads if {@link #tryRelease} returns true.
This method can be used to implement method {@link Lock#unlock}.
@param arg the release argument. This value is conveyed to
{@link #tryRelease} but is otherwise uninterpreted and
can represent anything you like.
@return the value returned from {@link #tryRelease}
Releases in exclusive mode. Implemented by unblocking one or more threads if {@link #tryRelease} returns true. This method can be used to implement method {@link Lock#unlock}.
@param arg the release argument. This value is conveyed to {@link #tryRelease} but is otherwise uninterpreted and can represent anything you like. @return the value returned from {@link #tryRelease}