
第一次进入函数前拿到锁1,递归进入函数时,synchronized的可重入性,决定了锁1依旧可以进入
synchronized可重入性代码演示:
package cn.java.thread;
public class Demo01 {
public synchronized void fun1() {
System.out.println("fun1");
fun2();
}
public synchronized void fun2() {
System.out.println("fun2");
}
public static void main(String[] args) {
new Demo01().fun1();
}
}