同步重写方法:内部锁定获取父类和子类的顺序

时间:2014-05-26 11:35:29

标签: java multithreading locking

在重写的非静态同步方法中保存哪些锁。 请提供获取和发布基类和子类的监视器锁的顺序,以便它解释java中可重入的好处。如果可以通过拥有JVM维护以实现重入的线程和获取计数来解释序列,那就太棒了。

public class Widget {
    public synchronized void doSomething() {
    }
}

public class LoggingWidget extends Widget {
    public synchronized void doSomething() {
        super.doSomething();
    }
}

请注意,此问题专门针对隐式重入锁定的解释,请不要将其标记为重复。

1 个答案:

答案 0 :(得分:1)

每个对象都有一个关联的监视器。在对象上调用同步实例方法时,与此对象关联的监视器需要由调用线程保持。

对象的类是无关紧要的。