ITPub博客

首页 > 数据库 > 国内数据库 > 亚信安慧AntDB:AntDB-M元数据锁(五)

亚信安慧AntDB:AntDB-M元数据锁(五)

原创 国内数据库 作者:亚信AntDB数据库 时间:2024-01-29 15:06:48 0 删除 编辑

IS_DESTROYED: 标识锁对象将被释放。

HAS_OBTRUSIVE:标识锁对象下有obtrusive锁,新的锁申请必须进入慢速申请路径,释放锁时,也要先加锁以保护已授予锁链表。

HAS_SLOW_PATH: 标识锁对象下是否有unobtrusive锁。


5.3.2 干扰型(obtrusive)

相互间不兼容,对于DML操作不通用。此类锁的申请过程需要对锁对象的读写锁加写锁,对不同线程的锁申请影响较大,因此显得比较张扬。

scoped locks:X,S。

per-object locks:SU, SRO, SNW, SNRW, X。


5.4 加锁路径

锁的申请过程分为两种路径,1)快路径, 即只需要增加锁个数计数来授予锁; 2)慢路径,需要对锁对象读写锁加写锁来授予锁.


5.4.1 快路径(fast path)

对于unobtrusive锁,可以通过快速路径来快速授予锁。但是授予锁有个前提,就是该锁对象下没有obtrusive锁,因为unobtrusive与obtrusive之间有些锁是互斥的,只有在没有obtrusive锁存在时,unobtrusive锁才彼此兼容。通过检测锁状态的HAS_OBTRUSIVE位即可快速判断。通过CAS操作即可更新锁个数,同时也会检测是否已有其他线程以张扬方式申请了锁。CAS操作成功,即申请锁成功。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70026696/viewspace-3005564/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
AntDB数据库始于2008年,是湖南亚信安慧科技科技有限公司自主研发的通用型企业级数据库产品,在运营商的核心系统上,为全国20多个省份约10亿用户提供在线服务,具备高性能、弹性扩展、可靠性等产品特性,峰值每秒可处理百万笔通信核心交易,应用范围包含通信、金融、交通、能源、物联等。

注册时间:2023-02-13

  • 博文量
    415
  • 访问量
    759993