亚信安慧AntDB:AntDB-M元数据锁之锁的获取(三)

5 锁的获取

5.1 锁的强弱

当线程已经持有的锁比新申请的锁更强时,认为已经持有了锁,无需再对申请锁类型加锁。锁的强弱指持有的锁与其他锁的不兼容集合大小,集合相同锁相同,集合更大锁更强,否则无强弱关系。通过锁的兼容位图进行简单的位运算即可快速判断锁的强弱。

5.2 两种锁范围

按照锁的适用范围将锁划分为两类,当然划分不是非此即彼的,会有重叠,这两类锁有各自的兼容性和锁对象管理方式。

范围锁(scoped locks)

只有三种锁(IX,S,X),主要用于GLOBAL、COMMIT、TABLESPACE、BACKUP_LOCK命名空间的对象。这几种命名空间的锁主要从整体上去限制并发操作,比如在DML访问一张表时,会先申请一个该表所属SCHEMA的IX锁,避免访问过程中该SCHEMA被修改、删除。范围锁全局每种命名空间都仅有一个锁对象,从而实现全局性的并发控制。

相关推荐
多多*9 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
青云交9 小时前
Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
java·spark·路径规划·大数据分析·智能物流·无人配送车·协同调度
d***817210 小时前
解决SpringBoot项目启动错误:找不到或无法加载主类
java·spring boot·后端
p***434810 小时前
Rust网络编程模型
开发语言·网络·rust
ᐇ95910 小时前
Java集合框架深度实战:构建智能教育管理与娱乐系统
java·开发语言·娱乐
风123456789~10 小时前
【OceanBase专栏】OB背景知识
数据库·笔记·oceanbase
4***721310 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
c***421010 小时前
Django视图与URLs路由详解
数据库·django·sqlite
数据库学啊10 小时前
团队小希望运维简单,时序数据库选型有什么推荐?
运维·数据库·时序数据库
梁正雄10 小时前
1、python基础语法
开发语言·python