并发执行三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排它锁,之后事务T1对数据(请作答此空);事务T2对数据( )。
- A.D2 、D3 加排它锁都成功
- B.D2 、D3 加共享锁都成功
- C.D2 加共享锁成功 ,D3 加排它锁失败
- D.D2 、D3 加排它锁和共享锁都失败
正确答案及解析
正确答案
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锁修改。
你可能感兴趣的试题

-
- A.V(S2)和P(S4)
- B.P(S2)和V(S4)
- C.P(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案

-
- A.V(S1)P(S2)和V(S3)
- B.P(S1)V(S2)和V(S3)
- C.V(S1)V(S2)和V(S3)
- D.P(S1)P(S2)和V(S3)
- 查看答案

-
- A.P(S4)和V(S4)V(S5)
- B.V(S5)和P(S4)P(S5)
- C.V(S3)和V(S4)V(S5)
- D.P(S3)和P(S4)V(P5)
- 查看答案

-
- A.P(S3)和V(S4)V(S5)
- B.V(S3)和P(S4)P(S5)
- C.P(S3)和P(S4)P(S5)
- D.V(S3)和V(S4)V(S5)
- 查看答案

-
- A.P(S2)和P(S4)
- B.P(S2)和V(S4)
- C.V(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案