I have a use case where I am implementing access to ATM Machine for users, using Semaphore class from java.util.concurrent package as lock i.e. to lock
Semaphore
java.util.concurrent