Skip to content

Commit f96599e

Browse files
committed
Synchronize
1 parent 39577ad commit f96599e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

MD/Synchronize.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public class com.crossoverjie.synchronize.Synchronize {
8686
不是则说明有其他线程抢占了锁,如果存在多个线程同时竞争一把锁,**轻量锁就会膨胀为重量锁**
8787

8888
#### 解锁
89-
轻量锁的解锁过程也是利用 `CAS` 来实现的,会尝试锁记录替换回锁对象的 Mark Word 。如果替换成功则说明整个同步操作完成,失败则说明有其他线程尝试获取锁,这时就会唤醒被挂起的线程(此时已经膨胀为`重量锁`)
89+
轻量锁的解锁过程也是利用 `CAS` 来实现的,会尝试锁记录替换回锁对象的 `Mark Word` 。如果替换成功则说明整个同步操作完成,失败则说明有其他线程尝试获取锁,这时就会唤醒被挂起的线程(此时已经膨胀为`重量锁`)
9090

9191
轻量锁能提升性能的原因是:认为大多数锁在整个同步周期都不存在竞争,所以使用 `CAS` 比使用互斥开销更少。但如果锁竞争激烈,轻量锁就不但有互斥的开销,还有 `CAS` 的开销,甚至比重量锁更慢。
9292

0 commit comments

Comments
 (0)