5.06 Examination dead lock 死锁检测
1 5.06 Examination dead lock 死锁检测
●一个事务申请锁而未获准,则进入等待,等 待其他事务释锁,以获得必须的数据资源 这就形成了事务间的等待关系。 。并发事务间出现循环等待时,如不加干预, 则会一直等待下去,叫死锁
2 ⚫ 一个事务申请锁而未获准,则进入等待,等 待其他事务释锁,以获得必须的数据资源. 这就形成了事务间的等待关系。 ⚫ 并发事务间出现循环等待时,如不加干预, 则会一直等待下去,叫死锁
。例: Tl T2 xlock(D1); 时 xlock(D2); 间 xlock(D2)月 等待 xlock(D1); 等待
3 ⚫ 例: 时间 T1 T2 . . . xlock(D1); . . . . . . . . . xlock(D2); 等待 . . . . . . . . . xlock(D2); . . . . . . . . . xlock(D1); 等待
。处理死锁方法有两种: 「检测死锁,发现后处理 防止死锁发生 -Examination of dead lock 死锁检测方法有两种: 1.超时法: 一个事务等待时间超过某一时限,则认为 它发生了死锁
4 ⚫ 处理死锁方法有两种: 检测死锁,发现后处理. 防止死锁发生. 一.Examination of dead lock 死锁检测方法有两种: 1.超时法: 一个事务等待时间超过某一时限,则认为 它发生了死锁
。优点:简单, ●问题: 1)死锁发生后, 需等待一定时间。 2)因通信受阻,系统负荷重等,等待超时的 事务,均被当死锁事务处理。 。注意:判定死锁发生的时限规定的太大,发现死 锁时间滞后太多;规定太短,则误判率太高,一 般须经过当前系统运行实验,才能确定
5 ⚫ 优点:简单. ⚫ 问题: 1)死锁发生后, 需等待一定时间。 2)因通信受阻,系统负荷重等,等待超时的 事务,均被当死锁事务处理。 ⚫ 注意:判定死锁发生的时限规定的太大,发现死 锁时间滞后太多;规定太短,则误判率太高,一 般须经过当前系统运行实验,才能确定