ReentrantReadWriteLock 和 ReentrantLock 的联系与区别

news/2025/11/28 14:04:09/文章来源:https://www.cnblogs.com/yppah/p/19282372

相同点

  1. 可重入性

    • 两者都支持可重入,同一线程可以多次获取相同的锁
    • 都维护着获取锁的次数计数器
  2. 公平性策略

    • 都支持公平锁和非公平锁模式
    • 构造函数都可以指定是否采用公平策略
  3. 底层实现

    • 都基于 AbstractQueuedSynchronizer(AQS)框架实现
    • 都支持中断响应和超时获取锁
  4. 内存语义

    • 都提供与 synchronized 相同的内存可见性保证
    • 释放锁前的写操作对后续获取锁的线程可见

不同点

1. 锁的类型和并发特性

特性 ReentrantLock ReentrantReadWriteLock
锁类型 独占锁(排他锁) 读写分离锁
读读并发 不支持 支持
读写并发 不支持 不支持
写写并发 不支持 不支持
适用场景 一般互斥访问 读多写少场景

2. 获取锁的方式

// ReentrantLock
ReentrantLock lock = new ReentrantLock();
lock.lock();
try {// 临界区代码
} finally {lock.unlock();
}// ReentrantReadWriteLock
ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();
// 获取读锁
rwLock.readLock().lock();
try {// 读操作
} finally {rwLock.readLock().unlock();
}// 获取写锁
rwLock.writeLock().lock();
try {// 写操作
} finally {rwLock.writeLock().unlock();
}

3. 性能特征

  • ReentrantLock: 适合读写频率相当或以写为主的场景
  • ReentrantReadWriteLock: 适合读操作远多于写操作的场景,可以显著提高读并发性能

4. 复杂度和开销

  • ReentrantLock: 实现简单,开销较小
  • ReentrantReadWriteLock: 实现复杂,有额外的状态管理和开销

5. 锁降级支持

// ReentrantReadWriteLock 支持锁降级(写锁降级为读锁)
ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();rwLock.writeLock().lock();
try {// 执行写操作String data = updateData();// 锁降级:在持有写锁的情况下获取读锁rwLock.readLock().lock();try {// 使用新数据useData(data);} finally {// 释放写锁,保留读锁rwLock.writeLock().unlock();}// 继续使用读锁
} finally {rwLock.readLock().unlock();
}

6. 条件变量支持

  • ReentrantLock: 支持多个 Condition 对象
  • ReentrantReadWriteLock: 只有写锁支持 Condition,读锁不支持

选择建议

选择 ReentrantLock 的场景:

  • 一般的互斥访问控制
  • 读写操作频率相近
  • 对性能要求较高且不需要读写分离

选择 ReentrantReadWriteLock 的场景:

  • 读操作远多于写操作(80%以上读操作)
  • 需要提高读并发性能
  • 数据一致性要求高且读频繁的场景

总结

ReentrantReadWriteLock 可以看作是 ReentrantLock 的扩展版本,专门针对读写分离场景进行了优化。两者都提供了比 synchronized 更强大的功能,但在具体应用场景上有明确的分工。选择哪种锁取决于具体的并发访问模式和性能要求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/979712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年 11 月企业咨询公司权威推荐榜:战略规划、组织优化与数字化转型顶尖服务商深度解析

2025 年 11 月企业咨询公司权威推荐榜:战略规划、组织优化与数字化转型顶尖服务商深度解析 在当今快速变化的商业环境中,企业咨询公司正发挥着越来越重要的作用。随着数字化转型浪潮的持续推进,以及企业在战略规划和…

2025年高压潜水轴流泵直销厂家权威推荐榜单:污水潜水泵/雪橇式轴流泵/卧式潜水泵源头厂家精选

在水利工程、城市给排水与农田灌溉领域,高压潜水轴流泵作为关键排水与输水设备,其性能优劣直接影响到整个系统的运行效率与可靠性。根据水务行业数据显示,我国水泵市场规模预计在2025年将达到约1500亿元,年增长率稳…

贝赛思速提分攻略!2025贝赛思备考机构TOP5,无老师领衔,提分率超90%

贝赛思速提分攻略!2025贝赛思备考机构TOP5,无老师领衔,提分率超90%备战贝赛思国际学校时,其独特的MAP考试体系、全英文授课要求及严格的学术评估标准,让众多家长和学员在选择备考机构时倍感困惑。我们通过调研近百…

微算法科技(NASDAQ:MLGO)深度学习区块链技术:构建信任+智能双引擎的数字新生态

在数字化浪潮席卷全球的背景下,区块链技术凭借去中心化架构与不可篡改特性,为数字世界构建了坚实的信任基石。然而,其静态数据存储模式与有限的处理能力,使得在复杂场景下的深度分析与智能决策存在天然短板。与此同…

USB 2.0 高速 低速协商过程

设备先上拉 D+,触发主机识别USB 全速和高速设备的硬件设计中,D + 引脚都会接 1.5K 上拉电阻。当设备接入 USB 总线后,Hub 的 D+/D - 引脚原本因 15K 下拉电阻处于低电平,设备 D + 的上拉电阻会使 Hub 对应引脚电平…

rust语言下划线_作用有哪些

在 Rust 语言中,下划线 _ 是一个非常有用的特殊符号,它具有多种不同的含义和用途,但核心思想通常是表示“占位符”或“忽略”。 以下是 _ 的几种主要用法: 1. 用作通配符(占位符) 这是 _ 最常见的用法。它用于模…

2025年十大农产品冷库安装公司排行榜,冷库安装专业制造商新

为帮助企业在冷库安装市场中精准锁定适配自身需求的合作伙伴,避免陷入低价劣质陷阱,我们从技术落地能力(如全温域覆盖、节能改造技术)、服务保障体系(含全流程质控、售后响应速度)、真实客户口碑(侧重同行业项目…

抓VSS坐标脚本

set net VSS set point_type "down" set gnd_i 0 redirect ../scr/$net.loc {} redirect ../scr/$net.loc {foreach shape [dbGet selected.net.name $net -p2] {set llx [dbGet $shape.box_llx]set lly [db…

2025 年 11 月企业管理咨询公司权威推荐榜:战略赋能与组织变革的行业影响力深度解析

2025 年 11 月企业管理咨询公司权威推荐榜:战略赋能与组织变革的行业影响力深度解析 在当今快速变化的商业环境中,企业管理咨询公司正发挥着越来越重要的作用。随着数字化转型、全球化竞争加剧以及新兴商业模式的涌现…

fastapi python项目构建 路由设置

FastAPI 是一个现代、快速(高性能)的 Python Web 框架,专门用于构建 API。它结合了 Python 类型提示的强大功能和异步编程的支持。 核心特性 1. 高性能基于 Starlette(Web 框架)和 Pydantic(数据验证)性能可与 …

2025 年 11 月企业管理咨询公司十强权威推荐榜:战略规划与组织优化实力派首选,助力企业高效成长与持续领先

2025 年 11 月企业管理咨询公司十强权威推荐榜:战略规划与组织优化实力派首选,助力企业高效成长与持续领先 在全球经济格局深度调整的背景下,企业管理咨询行业正迎来新一轮发展机遇。随着数字化转型浪潮的推进和市场…

2025年川渝黔实用时尚西餐料理培训哪家好?十大靠谱机构推荐

TOP1 推荐:重庆欧米奇西点西餐学校 推荐指数:★★★★★ 口碑评分:川渝黔地区西餐培训品牌 专业能力:重庆欧米奇深耕西式饮食教育三十余年,依托新华教育集团上市品牌资源,构建技能+学历+就业三位一体教学体系。以…

ReentrantLock 的典型使用场景和实现方法

基本概念 ReentrantLock 是 Java 幑发包中提供的可重入互斥锁,相比 synchronized 关键字提供了更高的灵活性和功能。 典型使用场景 1. 防止重复提交 防止用户重复点击按钮导致的重复业务处理。 2. 缓存双检锁机制 在缓…

2025 年 11 月制造业降本增效咨询公司权威推荐榜:精益生产与成本优化专家团队深度解析及服务优势全景解析

2025年11月制造业降本增效咨询公司权威推荐榜:精益生产与成本优化专家团队深度解析及服务优势全景解析 引言:制造业降本增效的时代背景 在全球制造业竞争日趋激烈的今天,降本增效已成为制造企业生存与发展的核心命题…

无源探头与高压探头技术对比分析

本文对比分析了无源探头与高压探头的技术原理、性能参数及应用场景,为选择合适探头提供参考。在电子测量领域,示波器探头作为连接被测电路与测量仪器的桥梁,其性能直接影响测量结果的准确性。其中,无源探头和高压探…

数字马力笔试

选择题七八十道的样子,包含 AI、Java 面向对象、数据库等。 编程题五道: 一五是算法,第一题是模拟,给你个身份证,问最后一位和前面 \(9\) 位算出的一个结果是否匹配,我记得好像是牛客上的原题。 第五题是给你两个…

2025年上海离婚诉讼律师推荐排行榜,哪个好?哪个靠谱?选哪个?

在上海提起离婚诉讼,选对“上海离婚诉讼律师”基本等于赢了一半:不仅关系到能不能顺利离掉,还关系到房子、存款、股权、孩子抚养权这些“人生核心资源”怎么分配。 网上各种“排行榜”“十大离婚律师”里,广告、水…

直击提分痛点!2025年11月贝赛思考试培训核心机构深度评测,封闭班首选推荐

直击提分痛点!2025年11月贝赛思考试培训核心机构深度评测,封闭班首选推荐备考贝赛思考试时,面对市场上良莠不齐的培训机构,不少家长和学员都陷入选择困境。2025年贝赛思考试难度再升级,MAP阅读题量翻倍至40题,数…

2025留学中介南京哪家好

2025留学中介南京哪家好一、南京留学中介如何选?五大疑问帮你理清思路作为从事国际教育规划工作超过十年的专业人士,我经常被南京的学生和家长问及留学中介的选择问题。2025年10月24日,随着留学申请季的临近,许多准…

2025 年 11 月管理咨询公司权威推荐榜:战略规划与组织优化口碑优选,专业服务助力企业高效成长

2025 年 11 月管理咨询公司权威推荐榜:战略规划与组织优化口碑优选,专业服务助力企业高效成长 在当今复杂多变的商业环境中,企业面临着前所未有的战略挑战和组织优化需求。管理咨询行业作为企业转型升级的重要推手,…