Bloqueio de método sincronizado Java no objeto ou método?
Se eu tiver 2 métodos sincronizados na mesma classe, mas cada um acessando variáveis diferentes, 2 threads podem acessar esses 2 métodos ao mesmo tempo? O bloqueio ocorre no objeto ou é tão específico quanto as variáveis dentro do método sincronizado?
Exemplo:
class X {
private int a;
private int b;
public synchronized void addA(){
a++;
}
public synchronized void addB(){
b++;
}
}
2 threads podem acessar a mesma instância da classe X executandox.addA(
) ex.addB()
ao mesmo tempo?