synchronized jvm实现思考

底层实现时,为什么使用了cxq队列和entryList双向链表?这里为什么不跟AQS中使用一个队列就行了,加了一个entryList的目的是为了什么?

个人理解这里多一个entryList,可能是用于减少频繁的cas操作。假设存在很多锁竞争时,进入entryList中的线程,在获取锁的线程中释放锁选取unpark线程时可以直接从List中取线程即可。

相关推荐
CodeAmaz4 分钟前
ConcurrentHashMap(JDK 7/8)详细介绍
java·hashmap·线程安全map
大猫和小黄5 分钟前
Tomcat vs Undertow 全面对比
java·tomcat
霍田煜熙23 分钟前
【无标题】
java
无忧智库25 分钟前
深度拆解:某大型医院“十五五”智慧医院建设方案,如何冲刺互联互通五级乙等?(附技术架构与实施路径)
java·数据库·架构
守护砂之国泰裤辣35 分钟前
Windows+docker下简单kafka测试联调
java·运维·spring boot·docker·容器
代码方舟37 分钟前
Java企业级风控实战:对接天远多头借贷行业风险版API构建信贷评分引擎
java·开发语言
Maiko Star1 小时前
Word工具类——实现导出自定义Word文档(基于FreeMarker模板引擎生成动态内容的Word文档)
java·word·springboot·工具类
优雅的38度1 小时前
maven的多仓库配置理解
java·架构
周末吃鱼1 小时前
研发快速使用JMeter
java·jmeter
EntyIU1 小时前
自己实现mybatisplus的批量插入
java·后端