锁优化
Posted amunote
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了锁优化相关的知识,希望对你有一定的参考价值。
Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从用户态转换到核心态,这个成本非常高,状态之间的转换需要相对比较长的时间,这就是为什么Synchronized效率低的原因。因此,这种依赖于操作系统Mutex Lock所实现的锁我们称之为“重量级锁”。
JDK中对Synchronized做的种种优化,其核心都是为了减少这种重量级锁的使用。
为了减少获得锁和释放锁所带来的性能消耗,提高性能,JDK使用了锁消除、锁膨胀等策略,并引入了“轻量级锁”和“偏向锁”的概念来减少重量级锁的使用。
以上是关于锁优化的主要内容,如果未能解决你的问题,请参考以下文章
synchronized优化手段:锁膨胀锁消除锁粗化和自适应自旋锁...