返回数说广场
0
慢速加锁逻辑的主要流程:
判断事务 T1 对记录 R1 是否加过锁。
如果加过锁,并且满足本次加锁的要求,本次不需要重复加锁,加锁流程就此结束。
判断其它事务是否会阻塞事务 T1 对记录 R1 的本次加锁操作。
如果是,本次加锁操作进入锁等待状态,否则,进入下一步,继续后面的加锁步骤。
先尝试找一个可以复用的行锁结构。
如果找到了,把行锁结构的 bitmap 区域中对应记录 R1 的位设置为 1,加锁流程就此结束,否则,进入下一步。
申请新的行锁结构。
拿到新的行锁结构之后,初始化行锁结构的各属性,把行锁结构的 bitmap 区域中对应记录 R1 的位设置为 1,然后把行锁结构加入两个行锁结构链表。
0
0 83
分享
评论
热门数说


