美文网首页java并发Java学习笔记
Synchronized下的三种锁:偏向锁 轻量锁 重量锁

Synchronized下的三种锁:偏向锁 轻量锁 重量锁

作者: 厌恶狡诈心机 | 来源:发表于2017-08-01 10:44 被阅读2092次

http://www.infoq.com/cn/articles/java-se-16-synchronized

读后解读Synchronized下的三种锁:偏向锁  轻量锁  重量锁

锁升级场景:蜀国四兄弟争骑单车007号


1、 # 获取偏向锁

张飞要骑

                有人吗

                                没人

                                        写上张飞的名字

                                                    成功获取偏向锁                     

                                                                  骑走

1.1、# 拥有偏向锁

张飞要骑车

                  有我的名字

                                骑走

2、#争抢进入轻量级锁

刘备要骑

            看到张飞的名字在,问张飞在吗

                            张飞:在

                                        尝试写上刘备的名字失败

                                                  张飞我在等你

                                                                刘备骑完后把他的名字抹去进入轻量级锁

2.1、#争抢获取偏向锁

                                      尝试写上刘备名字成功

                                                  获取偏向锁

                                                            骑走

3、#争抢轻量级锁

诸葛亮要骑

        拍照单车挂身上(复制对象头锁信息到线程栈内存)

                  尝试在单车箭头指向自己照片(对象头锁信息指针指向线程栈内存)

                            成功

                                    成功获取轻量级锁

                                              骑走

                                                        还车成功

3.1、#已经争抢成了重量级锁

                                                        还车失败,好了好了你们快抢(关羽)

4、#争抢轻量级锁

关羽要骑车

          拍照单车

                  尝试在单车箭头指向自己照片

                            失败

                                  再试多次(自旋锁)

                                          艹有完没完了,设置重量级锁

                                                      蹲等

                                                              诸葛亮说骑完了,抢

相关文章

  • 多线程优化--synchronized、Lock等优化

    1、synchronized (1)重量锁,轻量锁,偏向锁(synchronized自带的优化) (2)锁的粒度 ...

  • Synchronized锁升级知识(完成偏向锁部分)

    Synchronized锁升级分为四个步骤,无锁,偏向锁,轻量锁,重量锁 这四个状态在对象头,用mark word...

  • Synchronized下的三种锁:偏向锁 轻量锁 重量锁

    http://www.infoq.com/cn/articles/java-se-16-synchronized ...

  • Java中的锁

    一 偏向锁,轻量级锁,重量级锁 这三种锁特指 synchronized 锁的状态,通过java对象的头mark w...

  • 锁升级

    状态转换 未加锁 -> 偏向锁 -> 轻量锁(自旋锁) -> 重量锁 偏向锁 当对象未被加锁,而有加锁请求,那么将...

  • java synchronized原理导图

    当线程遇到synchronized后的执行流程,由偏向锁->轻量级锁->重量级锁 偏向锁、轻量级锁、重量级锁的上锁过程

  • synchronized锁升级详解

    锁升级的顺序:偏向锁 -> 轻量级锁 ->重量级锁 偏向锁:1、使用了synchronized关键字的代码,如果没...

  • 谈谈对锁的理解

    参考:通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现! 在并发...

  • JUC框架说明

    synchronized 锁升级:偏向锁 -》轻量级锁 -》重量级锁 1、同步状态的原子性管理 ...

  • 深入理解Java中的锁

    Java中的锁 常见的锁有synchronized、volatile、偏向锁、轻量级锁、重量级锁 1、synchr...

网友评论

本文标题:Synchronized下的三种锁:偏向锁 轻量锁 重量锁

本文链接:https://www.haomeiwen.com/subject/djxjlxtx.html