Вы предполагаете, что класс является общедоступным, а не дочерним, закрытым, защищенным или защищенным пакетами. Тем не менее, мой ответ был больше, чтобы продемонстрировать связь между замком и классом.
ге Брайана Гетца «Параллелизм Java на практике» его пример блокировки Reentrant запрограммирован так:
Lock lock = new ReentrantLock();
Тем не менее, мне интересно знать, если изменить приведенный выше код на:
private static final Lock lock = new ReentrantLock();
заставляет блокировку теперь действовать как мьютекс, или, если она не нужна и избыточна.
Таким образом, изменится ли функциональность этого кода, если блокировка будет закрытой, статической и окончательной?
lock.lock();
try {
//method stuff
} finally {
lock.unlock();
}
Спасибо всем заранее. Matt