并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排他锁,之后事务T1对数据(36),事务T2对数据(37)。 (37)

admin2018-05-08  13

问题 并发执行的三个事务T1、T2和T3,事务T1对数据D1加了共享锁,事务T2、T3分别对数据D2、D3加了排他锁,之后事务T1对数据(36),事务T2对数据(37)。
(37)

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

答案C

解析   排他锁又称为写锁,用于对数据进行写操作时进行锁定。如果事务T对数据A加上X锁后,就只允许事务T对读取和修改数据A,其他事务对数据A不能再加任何锁,从而也不能读取和修改数据A,直到事务T释放A上的锁。
    共享锁又称为读锁,用于对数据进行读操作时进行锁定。如果事务T对数据A加上了S锁后,事务T就只能读数据A但不可以修改,其他事务可以再对数据A加S锁来读取,只要数据A上有S锁,任何事务都只能再对其加S锁读取而不能加X锁修改。
转载请注明原文地址:https://kaotiyun.com/show/YTTZ777K
0

最新回复(0)