首页 试题详情
单选题

并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排它锁,之后事务T1对数据( );事务T2对数据(请作答此空)。

AD1

BD1

CD1加共享锁成功,D3加排它锁失败

DD1加排它锁成功,D3加共享锁失败

正确答案

答案解析

并发事务如果对数据读写时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(Exclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。排它锁又称为写锁,用于对数据进行写操作时进行锁定。如果事务T对数据A加上X锁后,就只允许事务T读取和修改数据A,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁。共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。

相似试题

  • 单选题

    并发执行三个事务T1T2T3事务T1对数据D1加了共享锁,事务T2T3分别对数据D2、D3加了排它锁,之后事务T1对数据(请作答此空);事务T2对数据( )。

    答案解析

  • 单选题

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

    答案解析

  • 单选题

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

    答案解析

  • 单选题

    事务T1对数据D1已加排它锁,事务T2对数据D2已加共享锁,那么事务T2对数据D1( );事务T1对数据D2(请作答此空)。

    答案解析

  • 单选题

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

    答案解析

热门题库