若事务T1对数据D1已加排它锁,事务T2对数据D2已加共享锁,那么________。

admin2023-02-21  23

问题 若事务T1对数据D1已加排它锁,事务T2对数据D2已加共享锁,那么________。

选项 A、事务T1对数据D2加共享锁成功,加排它锁失败;事务T2对数据D1加共享锁成功、加排它锁失败
B、事务T1对数据D2加排它锁和共享锁都失败;事务T2对数据D1加共享锁成功、加排它锁失败
C、事务T1对数据D2加共享锁失败,加排它锁成功:事务T2对数据D1加共享锁成功、加排它锁失败
D、事务T1对数据D2加共享锁成功,加排它锁失败;事务T2对数据D1加共享锁和排它锁都失败

答案D

解析 本题考查数据库并发控制方面的基础知识。在多用户共享的系统中,许多用户可能同时对同一数据进行操作,可能带来的问题是数据的不一致性。为了解决这一问题,数据库系统必须控制事务的并发执行,保证数据处于一致的状态,在并发控制中引入两种锁:排它锁(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/vgoiFFFM
0

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