版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11.4活锁和死锁
技术可以有效地解决并行操作的一致性问题,但也带来一些新的问题死锁活锁An
Introduction
toDatabaseAn
Introduction
toDatabase1.活锁2.死锁11.4活锁和死锁11.4.1
活锁T1T2T3T4Lock
R••••••••••Lock
R•等待Lock
R•等待等待Unlock
R等待•等待Lock
R•等待•Lock
R•等待•等待•等待Unlock
R•等待等待•Lock
R•An
Introduction
toDatabase11.4.1
活锁T1T2T3T4Lock
R••••••••••Lock
R•等待Lock
R•等待等待Unlock
R等待•等待Lock
R•等待•Lock
R•等待•等待•等待Unlock
R•等待等待•Lock
R•An
Introduction
toDatabase11.4.1
活锁T1T2T3
T4Lock
R••••
••
••
••Lock
R•等待Lock
R•等待等待Unlock
R等待•等待Lock
R•等待Lock
R•等待等待•等待Unlock
R
•等待等待Lock
R•活锁An
Introduction
toDatabase活锁(续)避免活锁:采用先来先服务的策略当多个事务请求
同一数据对象时按请求
的先后次序对这些事务排队该数据对象上的锁一旦 ,首先批准申请队列中第一个事务获得锁An
Introduction
toDatabaseAn
Introduction
toDatabase1.活锁2.死锁11.4活锁和死锁死锁(续)T1T2Lock
R1••••Lock
R2••••Lock
R2•等待等待等待Lock
R1等待等待等待等待••••••An
Introduction
toDatabase死锁(续)T1T2Lock
R1••••Lock
R2••••Lock
R2•等待等待等待Lock
R1等待等待等待等待••••••死锁An
Introduction
toDatabase解决死锁的方法两类方法死锁的预防死锁的
与解除An
Introduction
toDatabase1.死锁的预防产生死锁的原因是两个或多个事务都已了一些数据对象,然后又都请求对已为其他事务的数据对象加锁,从而出现死等待。预防死锁的发生就是要破坏产生死锁的条件An
Introduction
toDatabase死锁的预防(续)预防死锁的方法1一次法2顺序法An
Introduction
toDatabase(1)一次
法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行T1T2Lock
R1•••Lock
R2••••Lock
R2•等待等待Lock
R1等待等待••••T1T2Lock
R1Lock
R2•••Lock
R2••
等待等待ULockR1ULock
R2•Lock
R2Lock
R1••An
Introduction
toDatabase(1)一次
法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行T1T2Lock
R1•••Lock
R2••••Lock
R2•等待等待Lock
R1等待等待••••T1T2Lock
R1Lock
R2•••Lock
R2••等待等待ULockR1ULock
R2•Lock
R2Lock
R1••An
Introduction
toDatabase一次
法存在的问题过早加锁,降低系统并发度难于事先精确确定
对象数据库中数据是不断变化的,原来不要求的数据,在执行过程中可能会变成事先精确地确定每个
要对象,所以很难的数据对象。解决方法:将事务在执行过程中可能要
的数据对象全部加锁,这就进一步降低了并发度。An
Introduction
toDatabase(2)顺序
法顺序,所有事顺序
法是预先对数据对象规定一个务都按这个顺序实行
。顺序法存在的问题成本数据库系统中
的数据对象极多,并且随数据的删除等操作而不断地变化,要
这样的资源的、顺序非常,成本很高。难以实现事务的请求可以随着事务的执行而动态地决定,很难事先确定每一个事务要哪些对象,因此也就很难按规定的顺序去施加An
Introduction
toDatabase死锁的预防(续)结论在操作系统中广为采用的预防死锁的策略并不太适合数据库的特点数据库管理系统在解决死锁的问题上更普遍采用的是并解除死锁的方法An
Introduction
toDatabase2.
死锁的
与解除死锁的1超时法2等待图法An
Introduction
toDatabase(1)超时法如果一个事务的等待时间超过了规定的时限,就认为发生了死锁优点:实现简单缺点有可能误判死锁时限若设置得太长,死锁发生后不发现An
Introduction
toDatabase(2)等待图法用事务等待图动态反映所有事务的等待情况事务等待图是一个有向图G=(T,U)T为结点的集合,每个结点表示正运行的事务U为边的集合,每条边表示事务等待的情况若T1等待T2,则T1,T2之间划一条有向边,从T1指向T2An
Introduction
toDatabase等待图法(续)An
Introduction
toDatabase并发控制子系统周期性地(比如每隔数秒)生成事务等待图,检测事务。如果发现图中存在回路,则表示系统中出现了死锁。死锁的
与解除(续)解除死锁选择一个处理死锁代价最小的事务,将其撤消此事务持有的所有的锁,使其它事务能继续运行下去An
Introduction
toDatabase死锁的
与解除(续)解除死锁选择一个处理死锁代价最小的事务,将其撤消此事务持有的所有的锁,使其它事务能继续
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省苏州立达中学2024-2025学年九年级上学期期中考试物理试题(解析版)
- 电商平台与快递企业2024年度合作发展战略协议3篇
- 二零二四年度航空航天器零部件制造合同
- 二零二四年度版权买卖合同标的物确认
- 茶叶包装设计及定制合同04
- 2024版二手房交易及按揭贷款合同
- 二零二四年云计算数据中心设计与施工合同
- 电费合同范本(2篇)
- 只搭伙不领证的老伴协议书(2篇)
- 房屋解除合同协议书
- 公路定向钻穿越应急预案
- 幼儿园安全管理网络图
- 癌性伤口特性护理课件
- 家长会职高家长会课件
- 中级职称自我评价范文范文
- 小学数学北师大六年级上册六比的认识《比的应用》学历案设计(毛琴) 省赛获奖
- 李天元旅游学概论第7版课后习题答案
- 施工现场消防安全验收表(临时消防设施)(含续表)
- 思想道德与法治课件:第五章 第二节 吸收借鉴优秀道德成果
- 金融工程学题库及答案
- 清华大学博士培养方案
评论
0/150
提交评论