早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

若系统中存在5个等待事务T0,T1,T2,T3,T4,其中:T0正等待被T1锁住的数据项A1, T1正等待被T2锁住的

题目

若系统中存在5个等待事务T0,T1,T2,T3,T4,其中:T0正等待被T1锁住的数据项A1, T1正等待被T2锁住的数据项A2,T2正等待被T3锁住的数据项A3,T3正等待被T4锁住的数据项A4,T4正等待被T0锁住的数据项A0,则系统处于(46)的工作状态。

A.并发处理

B.封锁

C.循环

D.死锁

参考答案
正确答案:D
解析:本题考查关系数据库事务处理方面的基础知识。和操作系统一样,封锁的方法可能引起活锁和死锁。例如事务T1封锁了数据R,事务T2请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T2释放R上的封锁后系统又批准了T4的请求…T2有可能长期等待、这就是活锁。避免活锁的简单方法是采用先来先服务的策略。即让封锁子系统按请求封锁的先后次序对事务排队。数据R上的锁一且释放就批准申请队列中的第一个事务获得锁。又如事务T1封锁了数据R1,T2封锁了数据R2。然后T1又请求封锁R2,T2请求封锁R1。于是T1等待T2,释放R2上的封锁而同时T2等待T1释放R1上的封锁。这就使得两个事务永远不能结束。出现了死锁。