若某数据库系统中存在一个等待事务集{Tl, T2, T3, T4, T5},其中Tl正在等待被T2锁住的数据项A2,T2正在等待被T4锁住的数据项A4,T3正在等待被T4锁住的数据项A4,T5正在等待被Tl锁住的数据项A。下列有关此系统所处状态及需要进行的操作的说法中,正确的是()
A.系统处于死锁状态,需要撤销其中任意一个事务即可退出死锁状态
B.系统处于死锁状态,通过撤销T4可使系统退出死锁状态
C.系统处于死锁状态,通过撤销T5可使系统退出死锁状态
D.系统未处于死锁状态,不需要撤销其中的任何事务
D、系统未处于死锁状态,不需要撤销其中的任何事务
解析:
解析:由于Tl正在等待被T2锁住的数据项A2,T2正在等待被T4锁住的数据项A4,T3正在等待被T4锁住的数据项A4,T5正在等待被Tl锁住的数据项A是不会产生死锁的。所谓的死锁是指有两个或两个以上的进程在系统当中执行的过程中,各个进程因争夺系统独有的资源而造成的一种相互等待的现象,若无外部操作或者无人为干扰的情况下,它们都将无法推进下去,反而继续等待各自需要的资源或数据,从而造成系统死锁状态或系统产生了死锁。本题由于资源被占用是互斥的,当其中一个进程提出资源申请以后,使得有关进程在外部操作的情况下,永远分配不到自身需要的资源而无法继续执行下去,这就产生了死锁。故此题选D正确。