Блокировка синхронизированного метода Java для объекта или метода?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Блокировка синхронизированного метода Java для объекта или метода?

Сообщение Anonymous »

Если у меня есть два синхронизированных метода в одном классе, но каждый из них обращается к разным переменным, могут ли два потока одновременно обращаться к этим двум методам? Происходит ли блокировка объекта или она становится такой же конкретной, как и переменные внутри синхронизированного метода?

Пример:

Код: Выделить всё

class X {

private int a;
private int b;

public synchronized void addA(){
a++;
}

public synchronized void addB(){
b++;
}

}
Могут ли два потока получить доступ к одному и тому же экземпляру класса X, выполняя x.addA() и x.addB() одновременно?

Подробнее здесь: https://stackoverflow.com/questions/304 ... -or-method
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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