/**
* Acquires in shared mode, ignoring interrupts. Implemented by
* first invoking at least once {@link #tryAcquireShared},
* returning on success. Otherwise the thread is queued, possibly
* repeatedly blocking and unblocking, invoking {@link
* #tryAcquireShared} until success.
*
* 获取共享锁,忽略中断。执行时先调用 truAcquireShared 尝试获取锁,
* 如果获取成功就返回,否则当前线程入队,可能会被重复阻塞、唤醒
*/publicfinalvoidacquireShared(int arg) {
if (tryAcquireShared(arg) < 0)
doAcquireShared(arg);
}