Difference between Semaphore and Condition (ReentrantLock)
Binary Semaphore vs a ReentrantLock
How is 'synchronized' related to ReentrantLock? About semaphore class Using a semaphore ReentrantLock use case Actual use of lockInterruptibly for a ReentrantLock What is the difference between ReentrantLock vs stampedlock? Which one to prefer? Semaphore won't work ReentrantLock - Is this a valid approach to using it ReentrantLock Class in java Difference in understanding between Semaphore counter and semaphore methods integer parameter? How does ReentrantLock synchronize? What's the point of Semaphore.drainPermits()? ReentrantLock not giving expected result Difference between Semaphore initialized with 1 and 0 How to lock with ReentrantLock? Semaphore in Java ReentrantLock doesn't work out How lock() method works in ReentrantLock java Why ReentrantLock doesn't work in SpringXD Best match in C# to Java ReentrantLock and Condition? Thread Safe Class Many Methods ReentrantLock Race Condition in Java With ReentrantLock How to implement a semaphore Semaphore implementation in Java how to implement of semaphore ReentrantLock and Condition, best design Why use a ReentrantLock if one can use synchronized(this)? How does semaphore work? What is the difference between the Semaphore of an OS and the Semaphore given by Java?