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

5 锁的获取

5.1 锁的强弱

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

5.2 两种锁范围

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

范围锁(scoped locks)

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

相关推荐
EverestVIP6 分钟前
C++动态库对外接口通过接口方式实现
开发语言·c++
Swift社区23 分钟前
Swift LeetCode 246 题解:中心对称数(Strobogrammatic Number)
开发语言·leetcode·swift
coderzpw25 分钟前
当模板方法模式遇上工厂模式:一道优雅的烹饪架构设计
java·模板方法模式
巷北夜未央28 分钟前
Python每日一题(13)
开发语言·python·算法
直裾29 分钟前
Mapreduce初使用
java·mapreduce
woniu_maggie40 分钟前
SAP EXCEL DOI 详解
开发语言·后端·excel
小爬虫程序猿41 分钟前
利用 PHP 爬虫按关键字搜索淘宝商品
开发语言·爬虫·php
悠夏安末1 小时前
intellij Idea 和 dataGrip下载和安装教程
java·ide·intellij-idea
小爬虫程序猿1 小时前
淘宝商品信息如何存储到数据库?
数据库·爬虫·php
麻芝汤圆1 小时前
使用 MapReduce 进行高效数据清洗:从理论到实践
大数据·linux·服务器·网络·数据库·windows·mapreduce