首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于java内置锁的小疑点,请

2012-09-15 
关于java内置锁的小问题,请高手指点public class Widget {public synchronized void doSomething() {...}}

关于java内置锁的小问题,请高手指点
public class Widget {
  public synchronized void doSomething() {
  ...
  }
}

public class LoggingWidget extends Widget {
  public synchronized void doSomething() {
  System.out.println(toString() + ": calling doSomething");
  super.doSomething();
  }
}

今天在看某教材时看到如上代码,说可能会死锁。小弟愚钝,看不出为什么,请高手点拨,多谢!




[解决办法]
我之前说的不太准确,注意现在子类的do方法中是调用了父类的do方法的,假设也在父类的do方法中去new子类的对象调用子类的do方法,结合我上面的举例会死锁吗?
[解决办法]
例子就是一个synchronized 方法调用另一个synchronized 方法,因为是同一个对象,两个方法调用是同一个线程进行,再加上java的锁是可充入的,所以不会死锁。

热点排行