2.
级锁
1级锁
线程在行同步之前,JVM会先在当前线程的栈桢建用于存储锁记录的空,并
中的Mark Word复制到锁记录中,官方称Displaced Mark Word。然后线尝试使用
CAS中的Mark Word换为指向锁记录的指。如果成功,当前线,如果失
,表示其他线,当前线程便尝试使用自旋来
2级锁
锁时,会使用原子的CAS操作将Displaced Mark Word回到,如果成
功,表示没有生。如果失,表示当前存在争,就会膨成重量级锁
java 锁 -轻量级锁
自旋会消耗CPU了避免无用的自旋(比如线程被阻塞住了),一旦锁升
成重量级锁,就不会再恢复到级锁。当锁处个状下,其他线试图获锁时
都会被阻塞住,当持有线之后会线程,被醒的线程就会行新一轮
夺锁之争。
java 锁 -轻量级锁

相关文章: