![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 89
我要当大虾
这个作者很懒,什么都没留下…
展开
-
(三)Volatile
(一)Volatile两大特性1. 可见性2. 重排序(二)可见性原创 2020-11-17 19:49:32 · 49 阅读 · 0 评论 -
(二)偏向锁详解
偏向锁详解(一)路线默认对象走的是第一条线,先无锁,然后轻量级锁,如下图(二)为什么不走偏向锁呢1.因为偏向锁启动有一个延迟 4s后起作用例如,我们先让线程睡眠5s然后运行2.为什么刚开始New出来的对象就是偏向锁?偏向锁一旦启动后,这时候New出来的对象就是匿名偏向 ,就是说他已经就是偏向锁了,但是没有线程ID,里面空的。有线程来抢,将自己的ID贴出来,就是偏向锁(二)为什么要延迟4s1.你启动偏向锁效率一定会高吗?为什么?偏向锁(不太需要竞争的,一般一个线程)未必会提高原创 2020-11-15 17:55:28 · 3476 阅读 · 3 评论 -
(一)Synchronized锁升级的大致过程
(一)Synchronized的大致过程(参考马士兵老师)(二)Synchronized以前为什么被称为重量级锁因为Synchronized是跑在JVM上,JVM对于操作系统的内核来说,就是一个普通的应用程序,Synchronized想要申请一把锁,需要交给BOSS(操作系统内核态)来做,做好后反馈给你,所以叫重量级所(三)Synchronized升级后**- 其中的偏向锁和轻量级锁是在用户态完成的,不需要经过BOSS(操作系统内核)重量级锁是需要让BOSS帮我管理多线程**1.偏向锁自原创 2020-11-15 17:13:09 · 249 阅读 · 0 评论