Synchronized锁原理简介说明
下文笔者讲述Synchronized锁原理,如下所示
Synchronized锁原理
Synchronize是通过对象头的markwordk来表明监视器的 监视器本质是依赖操作系统的互斥锁实现的。 操作系统实现线程切换要从用户态切换为核心态,成本很高,此时这种锁叫重量级锁
注意事项:
1.在JDK1.6以后引入了偏向锁、轻量级锁、重量级锁
偏向锁:
当一段代码没有别的线程访问
此时线程去访问会直接获取偏向锁
轻量级锁:
当锁是偏向锁时
有另外一个线程来访问
偏向锁会升级为轻量级锁
这个线程会通过自旋方式不断获取锁
不会阻塞
提高性能
重量级锁:
轻量级锁自旋一段时间后线程还没有获取到锁
线程就会进入阻塞状态
该锁会升级为重量级锁
重量级锁时
来竞争锁的所有线程都会阻塞
性能降低
2.锁只能升级不能降级
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


