数据库管理系统通常使用两段锁协议来实现并发调度的可串行性,从而保证调度的正确性
1、两段锁协议
指事务必须分成两个阶段对数据进行加锁和解锁 在释放一个封锁以后,事务不在申请获得其它封锁2、两段锁的含义
第一段是获得封锁,也称扩展阶段
事务可以获得任何数据项上任何类型的锁,但是不能释放锁第二段是释放封锁,也称收缩阶段
事务可以释放任何数据项上任何类型的锁,但是不能获得锁遵守两段锁协议就可以进行串行化调度
特点
两段锁协议是可串行化的充分条件,不是必要条件 若并发事务都遵循两段锁协议,则对这些事务的任何并发调度都是可串行化的 若并发事务的一个调度是可串行化的,但是不一定所有的事务都符合两段锁协议3、遵守两段锁协议与防止死锁的一次封锁法
4、小结