引进意向锁是为了提高封锁子系统的效率。该封锁子系统支持多种封锁粒度。原因是:在多粒度封锁方法中一个数据对象可能以两种方式加锁―显式封锁和隐式封锁。因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突,还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突,显然,这样的检查方法效率很低。为此引进了意向锁。意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。
例如事务T要对某个元组加X锁,则首先要对关系和数据库加ix锁。换言之,对关系和数据库加ix锁,表示它的后裔结点―某个元组拟(意向)加X锁。引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如,事务T要对关系R加X锁时,系统只要检查根结点数据库和R本身是否已加了不相容的锁(如发现已经加了ix,则与X冲突),而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。
(简答题)
为什么要引进意向锁?意向锁的含义是什么?
正确答案
答案解析
略
相似试题
(简答题)
试述常用的意向锁:IS锁、ix锁、SIX锁,给出这些锁的相容矩阵。
(判断题)
等待队列是进程表内指针和一个相关自旋锁的双重循环队列。()
(简答题)
8086CPU的形成三大总线时,为什么要对部分地址线进行锁存?用什么信号控制锁存?
(简答题)
8086CPU的形成三大总线时,为什么要对部分地址线进行锁存?用什么信号控制锁存?
(单选题)
关于锁的相容性叙述正确的是()。
(简答题)
8086系统中为什么一定要有地址锁存器?需要锁存哪些信息?
(判断题)
对象的属性、事件和方法是类中定义的,所以不可以随意向对象中添加新属性、新事件或新方法。()
(简答题)
什么是锁协议?什么是两段锁协议?
(单选题)
在并发控制技术中,最常用的是封锁机制,基本的封锁类型有排它锁X和共享锁S,下列关于两种锁的相容性描述不正确的是()