[Database] 数据库两段锁协议

两段锁协议的内容编辑

1. 在对任何数据进行读、写操作之前, 事务首先要获得对该数据的封锁
2. 在释放一个封锁之后,事务不能再获得任何其他封锁。
 
一、与死锁
两段锁协议与防止死锁的一次封锁法编辑
一次封锁法要求每个 事务必须一次将所有要使用的数据全部加锁,否则就不能继续执
行,因此一次封锁法遵守 两段锁协议,但是两段锁协议并不要求事务必须一次将所有
要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁。
 
二、与可串行化
可串行化和死锁没有直接关系。
一个事务按照两段锁协议,并且正确执行,那么也可以串行执行。
但是有可能发生死锁,那么说明没有正确执行而已!
 
并行执行的所有事务均遵守两段锁协议,则对这些事务的所有并行调度策略都是可串行化的。

所有遵守两段锁协议的事务,其并行执行的结果一定是正确的

事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件
可串行化的调度中,不一定所有事务都必须符合两段锁协议。

转载于:https://www.cnblogs.com/deepblueme/p/4938853.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值