title: Thread safety & atomicity of java semaphore
body: <p>How are they achieved? I have seen the code of that class and it doesn't look like any kind of synchronisation mechanisms are used to ensure thread safety or atomicity of function calls.</p>
  
  <p>I am referring to the class <code>java.util.concurrent.Semaphore</code></p>
  
  <p>edit : Please understand it is no way a bug report or non-confidence in java technology. Rather, a request to let me understand. </p>