版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑卒中活动总结
- 购房押金合同(3篇)
- 生命的重建读后感(15篇)
- 江苏省无锡市(2024年-2025年小学五年级语文)统编版摸底考试(上学期)试卷及答案
- 内蒙古乌海市(2024年-2025年小学五年级语文)人教版小升初模拟(上学期)试卷及答案
- 2024年工业废气净化装置项目资金筹措计划书代可行性研究报告
- 工程力学(上)电子教案第二章
- 28个感恩练习分析
- 高考生物组成细胞的分子和细胞的基本结构专题辅导教案
- 上海市县(2024年-2025年小学五年级语文)人教版小升初模拟(上学期)试卷及答案
- 足球比赛记录表格
- 营养科工作制度与职责
- 《统计学-基于Excel》(第3版)课后参考答案 贾俊平
- 杭州郭庄调研
- 短歌行教学讲解课件
- 机械设计图纸标准化
- 六年级英语辨音复习题
- 船用柴油机课程
- 陕西诺正生物科技有限公司年产20000吨农药原药及中间体生产线建设项目环境影响报告
- 敦煌的艺术智慧树知到答案章节测试2023年
- 云朵上的学校
评论
0/150
提交评论