Мне было интересно, если
synchronize (lock) {
...
}
Если блокировка является экземпляром java.util.concurrent.locks.Lock
, обрабатывает lock
как любой другой объект или как идиома попытки окончательной попытки, т.е.
lock.lock();
try {
...
} finally {
lock.unlock();
}