Зачем использовать ReentrantLock, если можно использовать синхронизированный(это)?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Зачем использовать ReentrantLock, если можно использовать синхронизированный(это)?

Сообщение Anonymous »

Я пытаюсь понять, почему блокировка в параллельном режиме так важна, если можно использовать синхронизированное (это). В приведенном ниже фиктивном коде я могу либо:
  • синхронизировать весь метод, либо синхронизировать уязвимую область (synchronized(this){...})
  • ИЛИ заблокируйте уязвимую область кода с помощью ReentrantLock.
Код:
private final ReentrantLock lock = new ReentrantLock();
private static List ints;

public Integer getResult(String name) {
lock.lock();
try {
if (ints.size()==3) {
ints=null;
return -9;
}

for (int x=0; x

Подробнее здесь: https://stackoverflow.com/questions/118 ... onizedthis
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»