假设系统中有事务T1和T2,数据 D1和D2 。若T1对D1已加排它锁,对D2己

最全题库2022-08-02  37

问题 假设系统中有事务T1和T2,数据 D1和D2 。若T1对D1已加排它锁,对D2己加共享锁:那么T2对 D1(     ),T2对D2(    )。A.加共享锁成功,加排它锁失败B.加共享锁、加排它锁都失败C.加共享锁、加排它锁都成功D.加排它锁成功,加共享锁失败

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

答案 B

解析 本题考查数据库事务处理基础知识。事务并发处理时,如果对数据读写不加以控制,
会破坏事务的隔离性和一致性。控制的手段就是加锁,在事务执行时限制其他事务对数据的读取。在并发控制中引入两种锁:排它锁(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://www.tihaiku.com/congyezige/2427149.html

最新回复(0)