Java: Race Conditions What are the design trade-offs of using ReentrantLock over synchronized blocks? Read More