Skip to content

Commit a7395d1

Browse files
authored
Merge pull request #2846 from LunaSpica/patch-1
更新了可重入锁的举例
2 parents 01ab2d8 + f4e0c04 commit a7395d1

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

docs/java/concurrent/java-concurrent-questions-02.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,7 @@ public ReentrantLock(boolean fair) {
779779

780780
**可重入锁** 也叫递归锁,指的是线程可以再次获取自己的内部锁。比如一个线程获得了某个对象的锁,此时这个对象锁还没有释放,当其再次想要获取这个对象的锁的时候还是可以获取的,如果是不可重入锁的话,就会造成死锁。
781781

782-
JDK 提供的所有现成的 `Lock` 实现类,包括 `synchronized` 关键字锁都是可重入的
782+
JDK 中常用的锁(如 synchronized、ReentrantLock、ReentrantReadWriteLock)是可重入的,但并不是所有 Lock 实现都支持可重入,例如 StampedLock 就是不可重入的
783783

784784
在下面的代码中,`method1()``method2()`都被 `synchronized` 关键字修饰,`method1()`调用了`method2()`
785785

0 commit comments

Comments
 (0)