本文主要是介绍偏向锁,轻量级锁,重量级锁,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
偏向锁,轻量级锁和重量级锁之间存在一个 升级 的关系
锁的升级是一个递增的关系,如下
先使用偏向锁,不满足的话,再使用轻量级锁,还不满足的话,使用重量级锁。
使用场景:
偏向锁:先假设这个对象锁,至始至终只会被一个线程使用,所以先加上偏向锁
轻量级锁:当有多个线程使用这个锁,但是使用期间,只有一个线程占有这个锁,不会出现多个线程竞争的情况,就会把偏向锁升级为轻量级锁
重量级锁:多个线程使用这把锁,并会出现竞争的情况。就会把轻量级锁升级为重量级锁
目的:
使用重量级锁,会导致线程之间的切换,进而会耗费性能,所以对锁进行了优化。先使用低级锁,然后再依据情况,对锁进行升级。
这篇关于偏向锁,轻量级锁,重量级锁的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!