本文主要是介绍亚信安慧AntDB:AntDB-M元数据锁之锁的获取(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
5 锁的获取
5.1 锁的强弱
当线程已经持有的锁比新申请的锁更强时,认为已经持有了锁,无需再对申请锁类型加锁。锁的强弱指持有的锁与其他锁的不兼容集合大小,集合相同锁相同,集合更大锁更强,否则无强弱关系。通过锁的兼容位图进行简单的位运算即可快速判断锁的强弱。
5.2 两种锁范围
按照锁的适用范围将锁划分为两类,当然划分不是非此即彼的,会有重叠,这两类锁有各自的兼容性和锁对象管理方式。
范围锁(scoped locks)
只有三种锁(IX,S,X),主要用于GLOBAL、COMMIT、TABLESPACE、BACKUP_LOCK命名空间的对象。这几种命名空间的锁主要从整体上去限制并发操作,比如在DML访问一张表时,会先申请一个该表所属SCHEMA的IX锁,避免访问过程中该SCHEMA被修改、删除。范围锁全局每种命名空间都仅有一个锁对象,从而实现全局性的并发控制。
这篇关于亚信安慧AntDB:AntDB-M元数据锁之锁的获取(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!