boolean lockSharedInterruptibly ( final Integer permit , final long timeout , final TimeUnit unit ) throws InterruptedException { if ( permit == null ) { throw new IllegalArgumentException ( ) ; } return sync . tryAcquireSharedNanos ( permit , unit . toNanos ( timeout ) ) ; }
Acquire the shared lock with a max wait timeout to acquire .