class A {
public synchronized void myOneMethod() {
// ...
}
}
class B extends A {
public synchronized void myOtherMethod() {
// ...
}
}
// ...
B myObject;
// ...
myObject.myOneMethod(); // acquires lock
myObject.myOtherMethod(); // same lock?
Cómo entiendo el modelo de sincronización, diría que sí, porque el bloqueo/monitor está asociado con la instancia myObject, y no importa dónde se haya definido el método. Pero estoy en lo cierto? Si no, ¿por qué? Si es así, ¿por qué estás seguro y yo no? :-)Java: un método sincronizado en la superclase adquiere el mismo bloqueo que uno en la subclase, ¿verdad?
Por ejemplo, métodos, sí. –