下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国医院院长培训课件
- 全员安全总结培训课件
- 托管离职沟通话术
- 安心保险话术
- 医患关系的重要作用
- 银行安全生产标兵事迹讲解
- 英语专业职业规划路径
- 现场安全管理讲解
- 光缆安全培训前言课件
- 园艺专业就业前景分析
- 江苏省2025年普通高中学业水平合格性考试试卷英语试卷(含答案详解)
- 2025云南省人民检察院招聘22人笔试考试备考题库及答案解析
- 2026年安全生产管理培训课件与事故预防与应急处理方案
- 2026年长沙民政职业技术学院单招职业技能考试题库及答案详解一套
- 医学检验质控课件
- 人教鄂教版(2017秋)小学科学四年级上册期末综合质量检测卷(含答案)
- 湘教版八年级地理上册 第三章《中国的自然资源》单元测试卷及答案
- 腭裂喂养护理:新生儿与婴儿喂养技巧
- 2025湘教版八年级地理上册期末复习全册知识点提纲
- DB63∕T 1917-2021 森林防火隔离带建设技术规程
- 呼吸机管路护理与VAP预防的关键措施
评论
0/150
提交评论