数据库中事务的并发操作可能会引起死锁,引起死锁的原因是不同事务对数据项的资源占有,导致其他事务不能得到资源,从而引起相互等待导致死锁。假设某数据库系统中存在一个等待事务集{T1,T2,T3,T4,T5},其中T1正在等待被T2锁住的数据项A2,T2正在等待

admin2021-06-28  36

问题 数据库中事务的并发操作可能会引起死锁,引起死锁的原因是不同事务对数据项的资源占有,导致其他事务不能得到资源,从而引起相互等待导致死锁。假设某数据库系统中存在一个等待事务集{T1,T2,T3,T4,T5},其中T1正在等待被T2锁住的数据项A2,T2正在等待被T4锁住的数据项A4,T3正在等待被T4锁住的数据项A4,T5正在等待被T1锁住的数据项A。则关于系统状态正确的是(    )。

选项 A、系统处于死锁状态,需要撤销其中任意一个事务即可退出死锁状态
B、系统处于死锁状态,通过撤销T4可使系统退出死锁状态
C、系统处于死锁状态,通过撤销T5可使系统退出死锁状态
D、系统未处于死锁状态,不需要撤销其中的任何事务

答案D

解析 从下面的资源图可知,系统没有资源死锁环,事务T4完成后释放A4,T2完成后释放A2,T1完成后释放T5,所有事务即可正常结束。
转载请注明原文地址:https://kaotiyun.com/show/fdlZ777K
0

最新回复(0)