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