可重入锁与不可重入锁之间的区别与性能差异?
可重入锁 指在同一个线程在外层方法获取锁的时候,进入内层方法会自动获取锁。 为了避免死锁的发生,JDK 中基本都是可重入锁。 下面我们来测试一下 synchronized 和 java.util.concurrent.lock.ReentrantLock 锁的可重入性 测试 synchronized 加锁 可重入性 package constxiong.concurrency.a019; /** * 测试 synchronized 加锁 可重入性 * @author ConstXiong * @date 2019-09-20 15:55:27 */ public class TestSynchronizedReentrant { public static void main(String[] args) { new Thread(new SynchronizedReentrant()).start(); } } class SynchronizedReentrant implements Runnable { private final Object obj = new Object(); /** * 方法1,调用方法2 */ public void method1() { synchronized (obj) { System.out.println(Thread