在重写的非静态同步方法中保存哪些锁。 请提供获取和发布基类和子类的监视器锁的顺序,以便它解释java中可重入的好处。如果可以通过拥有JVM维护以实现重入的线程和获取计数来解释序列,那就太棒了。
public class Widget {
public synchronized void doSomething() {
}
}
public class LoggingWidget extends Widget {
public synchronized void doSomething() {
super.doSomething();
}
}
请注意,此问题专门针对隐式重入锁定的解释,请不要将其标记为重复。
答案 0 :(得分:1)
每个对象都有一个关联的监视器。在对象上调用同步实例方法时,与此对象关联的监视器需要由调用线程保持。
对象的类是无关紧要的。