该锁管理器的实现需要维护三个核心数据结构:1) 记录每个数据项上已授予事务的集合;2) 记录每个数据项当前锁模式的映射;3) 记录所有被阻塞事务的集合。处理每个请求时,首先检查请求事务是否已被阻塞(返回"IGNORED");然后检查锁冲突情况:对于共享锁请求,若数据项上已有排他锁则冲突;对于排他锁请求,若数据项上已有任何锁则冲突。无冲突时授予锁并更新数据结构,有冲突时拒绝请求并将该事务加入阻塞集合。整个过程严格按请求顺序处理,确保事务一旦被阻塞,后续所有请求均被忽略。
注册一个 柒行 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 柒行 通用账户