title: Will Semaphore.tryAcquire(...) block or spin until permit is available?
body: <p>If an unfair Semaphore permit isn't instantly available, will the <code>tryAcquire(long timeout, TimeUnit unit)</code> block until permit is available (i.e. yield execution), or will it spin until permit is available?</p>
  
  <p>If the call spins and a system has a bunch of Semaphores, isn't the system running the risk of having a lot of spinning Semaphores?</p>