假设系统中只有事务T1和T2,两个事务都要对数据D1和D2进行操作。若T1对D1已加排它锁,T1对D2已加共享锁;那么T2对D1(45),那么T2对D2(46)。 (46)

admin2018-05-08  23

问题 假设系统中只有事务T1和T2,两个事务都要对数据D1和D2进行操作。若T1对D1已加排它锁,T1对D2已加共享锁;那么T2对D1(45),那么T2对D2(46)。
(46)

选项 A、加共享锁成功,加排它锁失败
B、加共享锁、加排它锁都失败
C、加共享锁、加排它锁都成功
D、加排它锁成功,加共享锁失败

答案A

解析 本题考查数据库事务处理方面的基础知识。并发事务如果对数据读写时不加以控制,会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(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锁修改。
转载请注明原文地址:https://jikaoti.com/ti/7mx7FFFM
0

相关试题推荐
最新回复(0)