https://www.javacodegeeks.com/2015/02/java-concurrency-tutorial-locking-explicit-locks.html
Java Concurrency Tutorial – Locking: Explicit locks