当前位置:网站首页>ReentrantReadWriteLock详解
ReentrantReadWriteLock详解
2022-08-03 15:46:00 【jerry_dyy】
简介:
ReentrantLock中所有操作都是具有互斥性的,而现实中有一种场景就是读得特别频繁,但是写得特别少,在这样的场景下,如果可以做到读与读之间不互斥的话,那么就可以大大提高并发效率,所以对应的出现了ReentrantLReadWriteLock。ReentrantReadWriteLock可以做到:读读共享,读写互斥,写写互斥。
其实现方式就是:在内部封装了两把锁,一把独占锁,一把共享锁,获取独占锁的线程之间要进行同步;获取独占锁与获取共享锁之间的线程也要进行同步;获取共享锁的线程之间不需要进行同步。
使用举例:
public class ReentrantReadWriteLockDemo {
private ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();
private ReentrantReadWriteLock.ReadLock readLock = rwLock.readLock();
private ReentrantRead
边栏推荐
猜你喜欢
2021年12月电子学会图形化二级编程题解析含答案:消灭蝙蝠
基于牛顿方法在直流微电网潮流研究(Matlab代码实现)
AI也有健忘症?英国41岁教授专访:解决灾难性遗忘
开源一夏 | 阿里云物联网平台之极速体验
MATLAB gcf figure save image with black background/transparent background
瞌睡检测系统介绍
2021年12月电子学会图形化三级编程题解析含答案:分身术
ModelWhale 云端运行 WRF 中尺度数值气象模式,随时随地即开即用的一体化工作流
随笔-UGUI中LayoutGroup来自适应长度图片长度
一次做数据报表的踩坑经历,让我领略了数据同步增量和全量的区别
随机推荐
冒烟测试冒烟测试
【码蹄集新手村600题】将一个函数定义宏
问题1:批量测试(正式测试)之前应该怎么做?
问题6:下拉框测试点
Phaser(二):小恐龙跑酷游戏
Internship Road: Documenting Confusion in My First Internship Project
美国国防部更“青睐”光量子系统研究路线
【899. Ordered Queue】
使用虚幻引擎自动化工具实现自动化部署
测试基础整合-测试分类、软件质量模型、测试流程、测试用例、测试点划分方法、缺陷、例子
PWA 应用 Service Worker 缓存的一些可选策略和使用场景
深入浅出Flask PIN
身为售后工程师的我还是觉得软件测试香,转行成功定薪11.5K,特来分享下经验。
How to play deep paging with hundreds of millions of data?Compatible with MySQL + ES + MongoDB
您的移动端app安全吗
【网络结构】VGG
1、实例开启无锁表结构变更以后,在任务编排中通过“单实例SQL”节点进行的结构变更,是优先采用无锁表
GTK实现旋转加载动画
在 360 度绩效评估中应该问的 20 个问题
js中的基础知识点 —— 事件