内容来自《收割 Offer:互联网大厂面经》
可重入锁是指一个线程可以多次获取同一把锁,其实现原理是,为每个锁关联一个计数器,线程首次获取锁时,计数器置为1,再次获取该锁时,计数器加 1;线程每退出同步块一次,计数器就减1。计数器为 0 则代表锁被当前线程释放。
Synchronized和ReentrantLock都是可重入锁。