首页 试题详情
单选题

如右图所示的调度,其中事务T1、T2仅对数据项 A、B进行操作,则该调度( );

A满足两段锁协议

B满足两段锁协议

C不满足两段锁协议

D不满足两段锁协议

正确答案

答案解析

本题考查事务调度的知识。事务的执行由DBMS进行调度,在执行事务的过程中加入相关锁指令以控制事务满足ACID属性。常用的方式是两段锁协议(2PL),即事务的加锁和解锁分为两个阶段,第一阶段为锁增长阶段,只能加锁不能解锁,第二阶段为锁减少阶段,只能解锁不能加锁。图中的调度,事务T1对8、A两个数据项加锁中间无解锁指令,满足2PL协议;事务T2对A、B两个数据项加锁中间无解锁指令,也满足2PL协议。2PL协议不能避免死锁。图中事务T1先对数据项B加了独占锁,事务T2先对数据A加了共享锁;随后事务T2申请数据项B上的共享锁,只能等待事务T1释放B上的独占锁;事务T1申请数据项A上的独占锁,只能等待事务T2释放A上的共享锁。两个事务相互等待造成死锁。死锁的解除由DBMS来完成。需要在造成死锁的多个事务中选择一个回滚代价最小的事务进行强制回滚,并将该事务置于事务队列中稍后执行。图中事务T1对数据B己经做了修改,事务T2只是读取了数据A,相对而言,回滚事务T2代价最小。

相似试题

  • 单选题

    如右图调度其中事务T1T2数据项A、B进行操作,则该调度( );

    答案解析

  • 单选题

    假如该调度已经产生死锁,如果要从事务T1,T2中进行回滚以解除死锁,从代价最小角度考虑,应回滚事务( )。

    答案解析

  • 单选题

    事务 T1 已经给数据 A 加上了共享锁,则事务 T2( )。

    答案解析

  • 单选题

    如右图并发调度,假设事务T1T2执行前数据项X、Y初值为X=100,Y=200。该调度执行完成后,X、Y值为( );此类不一致性称为(请作答此空)。

    答案解析

  • 单选题

    事务T1数据 D1 加了共享锁,事务 T2 、T3分别数据D2 、D3 加了排它锁,则事务T1数据( 51 ) ;事务T2数据( 52 )。

    答案解析

热门题库