Паттерн работы с блокировкой вообще говоря такой (см. комментарий к Lock):
```
lock.lock();
try {
  ...
} finally {
  lock.unlock();
}