看到一个问题,Java的可重入锁为什么可以防止死锁呢?网上看了看资料,虽然有答案说出了正确答案,但是分析的不够详细,对初学者不够友好。这里我再做一个更清晰的分析。
首先是示例代码:
1 public class Widget { 2 public synchronized void doSomething(){ 3 // do something 4 } 5 } 6 public class LoggingWidget extends Widget { 7 public synchronized void doSomething() { 8 super.doSomething(); 9 } 10 }