事务管理基础:两段锁协议、活锁、死锁相关知识整理

 

 

1、两段锁协议(Two-phase Locking Protocol) 

两段锁协议是指对任何数据进行读写之前必须对数据进行加锁;在释放一个封锁之后,事务不再申请和获得任何其他封锁。

  • 两段锁协议中两段的含义:事务分为两个阶段,第一个获得封锁称为扩展阶段;第二阶段为释放阶段,也称为收缩阶段。

  • 两段锁协议的目的:保证并发调度的正确性。

  • 两段锁协议与可串行化:如果事务都遵循两段锁协议,那么它们的并发调度是可串行化。两段锁是可串行化的充分条件,但不是必要条件。如果事务不遵循两段锁协议,它们的并发调度有可能不是可串行化的。

  • 说明:采用两段锁协议会有可能产生死锁的情况,因为每个事务不能及时解除被它封锁的数据,可能会导致多个事务互相要求对方已封锁的数据而产生死锁。

2、活锁、死锁介绍 

  • 活锁:主要是指事务T1封锁了数据R,事务T2请求封锁数据R,于是T2等待R的封锁被释放。当T1释放数据R上的封锁后,系统批准了T3事务的请求,于是T2仍然等待。如果T3释放后,又批准了T4的请求,那么T2可能会永远等待的现象。

  • 死锁:主要是指两个以上的事务分别请求封锁对方已经封锁的数据,导致长期等待而无法继续运行下去的现象。

 

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值