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