Java synchronisierte Methodensperre für Objekt oder Methode?

Wenn ich 2 synchronisierte Methoden in derselben Klasse habe, aber jede auf andere Variablen zugreift, können 2 Threads gleichzeitig auf diese 2 Methoden zugreifen? Tritt die Sperre für das Objekt auf oder wird sie so spezifisch wie die Variablen in der synchronisierten Methode?

Beispiel

class X {

    private int a;
    private int b;

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

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

}

Kann 2 Threads auf dieselbe Instanz von Klasse X zugreifen, die @ ausfühx.addA() undx.addB() zur selben Zeit

Antworten auf die Frage(20)

Ihre Antwort auf die Frage