博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
锁优化
阅读量:6324 次
发布时间:2019-06-22

本文共 366 字,大约阅读时间需要 1 分钟。

Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从用户态转换到核心态,这个成本非常高,状态之间的转换需要相对比较长的时间,这就是为什么Synchronized效率低的原因。因此,这种依赖于操作系统Mutex Lock所实现的锁我们称之为“重量级锁”。

JDK中对Synchronized做的种种优化,其核心都是为了减少这种重量级锁的使用。

为了减少获得锁和释放锁所带来的性能消耗,提高性能,JDK使用了锁消除、锁膨胀等策略,并引入了“轻量级锁”和“偏向锁”的概念来减少重量级锁的使用。

转载于:https://www.cnblogs.com/amunote/p/10328191.html

你可能感兴趣的文章
jquery中的 $(#id)与document.getElementById( id )的区别
查看>>
Android动画 详解(二 帧动画 属性动画 )
查看>>
MyISAM静态
查看>>
自动化运维工具Ansible详细部署
查看>>
翻身的废鱼——论PHP从入门到放弃需要多久?4
查看>>
C标签如何使用
查看>>
FreeBSD 11.1 pkg安装vim
查看>>
Active Direcyory之证书颁发机构(CA服务器)
查看>>
Cocos2d-x中 debugDraw 的使用
查看>>
普通用户授予select any table 权限
查看>>
python文件操作及函数学习
查看>>
nagios pnp4nagios yum 安装 配置
查看>>
cacti相关资料网站
查看>>
做好软件项目的验收的方法
查看>>
Spring Boot 学习记录(一)——Spring Boot整合Mybatis
查看>>
Systemd 进程管理相关
查看>>
yum remove千万别乱用!!!
查看>>
android之调用webservice 实现图片上传
查看>>
Android新建项目,或者导入项目出现R文件丢失,解决方案 .
查看>>
[Unity3D插件]2dToolKit系列三 碰撞检测功能的实现以及障碍物的随机摆放
查看>>