可重入锁是一种支持同一个线程多次获得同一把锁的锁机制。在 Java 中,synchronized
关键字和 ReentrantLock
类都支持可重入锁。
可重入锁的主要特点是允许同一个线程多次获取同一把锁,而不会导致死锁。这使得在进行递归调用或者多层调用的情况下,线程可以自由地获取已经持有的锁。
示例:
1. 使用 synchronized 关键字
public class ReentrantExample {
public synchronized void outer() {
inner()