T1 | T2 |
读A=100 | |
A=A*2写回 | |
读A=200 | |
ROLLBACK |
步骤 | T1 | T2 | ||||||||||||||||||||||||||||||
1 | 读A=10 | |||||||||||||||||||||||||||||||
2 | 读A=10 | |||||||||||||||||||||||||||||||
3 | 写A=A-3 | |||||||||||||||||||||||||||||||
4 | A. 该操作序列不存在问题 |
步骤 | T1 | T2 |
1 | 读A=100 | |
2 | 读A=100 | |
3 | A←A+10写回 | |
T1 | T2 |
读A=100 | |
A=A*2写回 | |
读A=200 | |
ROLLBACK |
T1 | T2 |
(1) 读A (2)
(3) 读A COMMIT |
读A A=A+10写回 COMMIT
|
T1 | T2 |
①读A=100 A:=A*2写回 ③ROALLBACK 恢复A=100 | ②读A=200 |
设有两个事务T1、T2有如下调度,产生的不一致性是()
步骤 T1 T2
1 读A=100
2 读A=100
3. A=A+10写回
4. A=A-10
①请求
SLOCK data
读 data=20
②
③A=A+30 写回 A=50
COMMIT
UNLOCK data
④ 请求
SLOCK data
读data=20
写回data=50
COMMIT
UNLOCK data
A. 该操作部能重复读
B. 该操作符合完整性要求
C. 该操作的第①步中,事务T1应该申请X锁
D. 该操作的第②步中,事务T2不可能得到对data的锁
【问题1】 假设T1、T2、T3可以并发执行。若A的初值为0,那么存在多少种可能的正确结果 |
我来回答: