若系统中存在一个等待事务集(T0,T1,T2,…,Tn),其中T0正等待被T1锁住的数据项A1,T1正等待被T2锁住的数据项A2,…,Tn-1正等待被Tn锁住的数据项An,Tn正等待被T0锁住的数据项A0,则系统处于(31)的工作状态。

admin2019-05-23  24

问题 若系统中存在一个等待事务集(T0,T1,T2,…,Tn),其中T0正等待被T1锁住的数据项A1,T1正等待被T2锁住的数据项A2,…,Tn-1正等待被Tn锁住的数据项An,Tn正等待被T0锁住的数据项A0,则系统处于(31)的工作状态。

选项 A、并发处理
B、封锁
C、循环
D、死锁

答案D

解析 与操作系统中的进程调度类似,在数据库系统中,若系统中存在一个等待事务集(T0,T1,T2,…,Tn),其中T0正等待被T1锁住的数据项A1,T1正等待被T2锁住的数据项A2,…,Tn-1正等待被Tn锁住的数据项An,Tn正等待被T0锁住的数据项A0,则系统处于死锁的工作状态。在数据库中,产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待。预防死锁的方法通常有一次封锁法(每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行)和顺序封锁法(预先对数据对象规定一个封锁顺序,所有事务都按这个顺序进行封锁),死锁的诊断方法一般有超时法和等待图法。
转载请注明原文地址:https://kaotiyun.com/show/fNTZ777K
0

最新回复(0)