【数据库】【多线程】读写锁
读写锁
图解读锁、写锁的持有和堵塞情况,虚线为读锁、实线为写锁,绿色为不堵塞、红色为堵塞。
Java的ReentrantReadWriteLock的部分逻辑解析
除了数据库有读写锁,Java也有读写锁的线程,这里简单解析ReentrantReadWriteLock,当然,了解ReentrantReadWriteLock的前提要了解ReentrantLock的实现(本文暂不涉及)。
用int类型的state维护读锁和写锁的状态
用什么维护读写锁的状态的呢?用一个int类型的变量维护,高16位维护读锁,低16维护写锁。
获取写锁的流程
简单图解解析ReentrantReadWriteLock.Sync.tryAcquire(int acquires)的逻辑,图一是较详细的图解,图二是较白话的图解:
作者:Nick Huang 博客:http://www.cnblogs.com/nick-huang/
本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
如果本文对您有用,点赞或评论哦;如果您喜欢我的文章,请点击关注我哦~
本博客为学习、笔记之用,以笔记形式记录学习的知识与感悟。学习过程中可能参考各种资料,如觉文中表述过分引用,请务必告知,以便迅速处理。如有错漏,不吝赐教。
如果本文对您有用,点赞或评论哦;如果您喜欢我的文章,请点击关注我哦~
分类:
Java多线程
标签:
Java Concurrency
, 数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2015-03-30 权限管理系统概要设计