Skip to content

Commit 2581e51

Browse files
committed
Synchronize
1 parent a97a748 commit 2581e51

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

MD/Synchronize.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,4 +78,6 @@ synchronize 很多都称之为重量锁,`JDK1.6` 中对 synchronize 进行了
7878
### 轻量级锁
7979
当代码进入同步块时,如果同步对象为无锁状态时,当前线程会在栈帧中穿件一个锁记录(`Lock Record`)区域,同时将锁对象对象头中的 Mark Word 拷贝到锁记录中。再尝试使用 CAS 将 Mark Word 更新为指向锁记录的指针。
8080

81-
如果更新成功,当前线程就获得了锁。如果更新失败 JVM 会先检查锁对象的 Mark Word 是否指向当前线程的锁记录,如果是则说明当前线程拥有锁对象的锁,可以直接进入同步块。
81+
如果更新成功,当前线程就获得了锁。如果更新失败 JVM 会先检查锁对象的 `Mark Word` 是否指向当前线程的锁记录。
82+
83+
如果是则说明当前线程拥有锁对象的锁,可以直接进入同步块。

0 commit comments

Comments
 (0)