title: Why is a synchronizer supporting shared acquisition acquired exclusively?
body: <p>I am reading <em>Java Concurrency in Practice</em>, in "14.5 AbstractQueuedSynchronizer", it says:</p>
  
  <blockquote>
    <p>A synchronizer supporting exclusive acquisition should implement the protected methods <code>tryAcquire</code>, <code>tryRelease</code>, and <code>isHeldExclusively</code>, and <strong>those supporting shared acquisition should implement <code>tryAcquireShared</code> and <code>tryReleaseShared</code></strong>. The <code>acquire</code>, <code>acquireShared</code>, <code>release</code>, and <code>releaseShared</code> methods in AQS call the <code>try</code> forms of these methods in the synchronizer subclass to determine if the operation can proceed. The synchronizer subclass can use <code>getState</code>, <code>setState</code>, and <code>compareAndSetState</code> to examine and update the state according to its <code>acquire</code> and <code>release</code> semantics, and informs the base class through the return status whether the attempt to acquire or release the synchronizer was successful. For example, returning a negative value from <code>tryAcquireShared</code> indicates acquisition failure; <strong>returning zero indicates the synchronizer was acquired exclusively</strong>; and returning a positive value indicates the synchronizer was acquired nonexclusively. The <code>tryRelease</code> and <code>tryReleaseShared</code> methods should return true if the release may have unblocked threads attempting to acquire the synchronizer.</p>
  </blockquote>
  
  <p>I don't quite understand those two bold sentences.</p>
  
  <ul>
  <li>A synchronizer supporting <strong>shared</strong> acquisition should implement <code>tryAcquireShared</code> and <code>tryReleaseShared</code>.</li>
  <li>returning zero from <code>tryAcquireShared</code> indicates the synchronizer was acquired <strong>exclusively</strong>.</li>
  </ul>
  
  <p><strong>Why is a synchronizer supporting shared acquisition acquired exclusively?</strong></p>