Поскольку ты read-блокировку не используешь, тут надо использовать просто ReentrantLock.