当前位置:网站首页>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月电子学会图形化三级编程题解析含答案:跳高比赛
JD6606SP5_JD6606SSP_JD6606SASP_JD6621W7百盛新纪元授权代理商
DC-DC 2C (40W/30W) JD6606SX2 power back application
基于DMS的数仓智能运维服务,知多少?
nodeJs--跨域
AI也有健忘症?英国41岁教授专访:解决灾难性遗忘
简介undo log、truncate、以及undo log如何帮你回滚事物?
Three key expectations for the crypto market in August Price moves north?Still expected to be in turmoil
cmd 关闭端口
8月份加密市场的三个关键预期 价格虽向北移动?预计仍将处于动荡之中
随机推荐
GTK实现旋转加载动画
MATLAB gcf figure save image with black background/transparent background
请问下,flink cdc监控oracle,我看源码是通过sid方式的,请问怎么改成service
方舟开服教程win
JS basics--judgment
请问下阿里云全托管flink能执行两条flink sql命令么?
基于牛顿方法在直流微电网潮流研究(Matlab代码实现)
问题7:功能测试花瓶用例
小熊派——无线联网开发
unity用代码生成LightProbeGroup
神经网络,凉了?
2021年12月电子学会图形化二级编程题解析含答案:消灭蝙蝠
高压直流输电(HVDC)的最优潮流(OPF)(Matlab代码实现)
上亿数据怎么玩深度分页?兼容MySQL + ES + MongoDB
JS基础--判断
Convex Optimization of Optimal Power Flow (OPF) in Microgrids and DC Grids (Matlab Code Implementation)
问题6:下拉框测试点
6000 字+,帮你搞懂互联网架构演变历程!
使用VS Code搭建ESP-IDF环境
问题1:get和post的区别