排它锁心排它锁又称为写锁若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁心保证其他事务在T释放A上的锁之前不能再读取和修改AAnIntroductiontoDatabaseSystem
An Introduction to Database System 排它锁 ❖排它锁又称为写锁 ❖若事务T对数据对象A加上X锁,则只允许T读取 和修改A,其它任何事务都不能再对A加任何类型 的锁,直到T释放A上的锁 ❖保证其他事务在T释放A上的锁之前不能再读取和 修改A
共享锁心共享锁又称为读锁若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁保证其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改AnIntroductiontoDatabaseSystem
An Introduction to Database System 共享锁 ❖共享锁又称为读锁 ❖若事务T对数据对象A加上S锁,则事务T可以读A 但不能修改A,其它事务只能再对A加S锁,而不 能加X锁,直到T释放A上的S锁 ❖保证其他事务可以读A,但在T释放A上的S锁之 前不能对A做任何修改
锁的相容矩阵XST1T2XNYNYYSNYYYY-Yes,相容的请求N=No,不相容的请求An Introduction to Database System
An Introduction to Database System 锁的相容矩阵 Y=Yes,相容的请求 N=No,不相容的请求 T1 X S _ X N N Y S N Y Y _ Y Y Y T2
第十一章并发控制11.1并发控制概述人民大学11.2封锁11.3封锁协议11.4活锁和死锁车系统概论11.5并发调度的可串行性11.6两段锁协议11.7封锁的粒度*11.8其他并发控制机制11.9小结AnIntroductiontoDatabaseSystem
An Introduction to Database System 第十一章 并发控制 11.1 并发控制概述 11.2 封锁 11.3 封锁协议 11.4 活锁和死锁 11.5 并发调度的可串行性 11.6 两段锁协议 11.7 封锁的粒度 *11.8 其他并发控制机制 11.9 小结
11.3封锁协议心什么是封锁协议在运用X锁和S锁对数据对象加锁时,需要约定一些规则,这些规则为封锁协议(LockingProtocol)。何时申请X锁或S锁聚论·持锁时间·何时释放对封锁方式规定不同的规则,就形成了各种不同的封锁协议,它们分别在不同的程度上为并发操作的正确调度提供一定的保证AnIntroduction toDatabaseSystem
An Introduction to Database System 11.3 封锁协议 ❖什么是封锁协议 ◼ 在运用X锁和S锁对数据对象加锁时,需要约定一些规 则,这些规则为封锁协议(Locking Protocol)。 ⚫何时申请X锁或S锁 ⚫持锁时间 ⚫何时释放 ◼ 对封锁方式规定不同的规则,就形成了各种不同的封 锁协议,它们分别在不同的程度上为并发操作的正确 调度提供一定的保证