Блокировка синхронизированного метода 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

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