acquireShared
Acquires in shared mode, ignoring interrupts. Implemented by first invoking at least once .tryAcquireShared, returning on success. Otherwise the thread is queued, possibly repeatedly blocking and unblocking, invoking .tryAcquireShared until success.
Parameters
arg
the acquire argument. This value is conveyed to .tryAcquireShared but is otherwise uninterpreted and can represent anything you like.