I am getting into Semaphores in Java and was reading this article http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Semaphore.html . The only thing I don\'t
synchronization is guaranteed by AbstractQueuedSynchronizer with CAS operations
see the javadoc here