
9
(1)
这不排列组合吗
T1 T2 T3 ——16
T1 T3 T2 —— 8
T2 T1 T3 —— 4
T2 T3 T1 —— 4
T3 T1 T2 —— 2
T3 T2 T1 —— 2
(2)
| T1 | T2 | T3 |
|---|---|---|
| Slock A | ||
| Y=R(A)=0 | ||
| Unlock A | ||
| Xlock A | ||
| Slock A | ||
| A=Y+2 | 等待 | |
| W(A) | 等待 | |
| Unlock A | 等待 | |
| X=R(A)=2 | ||
| Unlock A | ||
| Xlock A | ||
| Slock A | ||
| A=X*2=4 | 等待 | |
| W(A) | 等待 | |
| Unlock A | 等待 | |
| Z=R(A)=4 | ||
| Unlock A | ||
| Xlock A | ||
| A=Z**2=16 | ||
| W(A) | ||
| Unlock A |
A=16
(3)
| T1 | T2 | T3 |
|---|---|---|
| Slock A | ||
| Y=R(A)=0 | ||
| Unlock A | ||
| Slock A | ||
| Y=R(A)=0 | ||
| Y=R(A)=0 | ||
| Xlock A | ||
| 等待 | Unlock A | |
| A=Y+2=2 | ||
| W(A) | ||
| Unlock A | ||
| Slock A | ||
| Y=R(A)=2 | ||
| Unlock A | ||
| Xlock A | ||
| Xlock A | ||
| 等待 | A=Y**2=4 | |
| 等待 | W(A) | |
| 等待 | Unlock A | |
| A=Y*2=0 | ||
| W(A) | ||
| Unlock A |
A=0
(4)
| T1 | T2 | T3 |
|---|---|---|
| Slock A | ||
| Y=R(A)=0 | ||
| Xlock A | ||
| A=Y+2=2 | Slock A | |
| W(A) | 等待 | |
| W(A) | 等待 | |
| Unlock A | 等待 | |
| X=R(A)=2 | ||
| Xlock A | ||
| Unlock A | 等待 | Slock A |
| A=X*2=4 | 等待 | |
| W(A) | 等待 | |
| Unlock A | 等待 | |
| Z=R(A)=4 | ||
| Unlock A | ||
| Xlock A | ||
| 等待 | ||
| Unlock A | 等待 | |
| A=Z**2=16 | ||
| W(A) | ||
| Unlock A |
(5)
| T1 | T2 | T3 |
|---|---|---|
| Slock A | ||
| Y=R(A)=0 | ||
| Slock A | ||
| X=R(A)=0 | ||
| Xlock A | ||
| 等待 | ||
| 等待 | Xlock A | |
| 等待 | 等待 | Slock A |
| 等待 | 等待 | Z=R(A)=0 |
| 等待 | 等待 | Xlock A |
| 等待 | 等待 | 等待 |
10
一个调度Sc在保证冲突的操作的次序不变的情况下,通过交换两个事务不冲突操作的次序得到另一个调度Sc’,如果Sc’是串行的,称调度Sc是冲突可串行化的调度。
经交换得调度: r3(B)w3(B)r2(B)w2(B)r2(A)r1(B)r1(A)w1(A)
等价于一个串行调度T3,T2,T1.所以是冲突可串行化的调度
14
(1)
| T1 | T2 |
|---|---|
| Slock A | |
| R(A) | |
| Xlock B | |
| R(B) | |
| B=A+B | |
| W(B) | |
| W(B) | |
| Unlock B | |
| Unlock A | |
| Slock B | |
| R(B) | |
| Xlock A | |
| R(A) | |
| A=A+B | |
| W(A) | |
| Unlock A | |
| Unlock B |
(2)
| T1 | T2 |
|---|---|
| Slock A | |
| R(A) | |
| Slock B | |
| R(B) | |
| Xlock B | |
| 等待 | |
| 等待 | Xlock A |
| 等待 | 等待 |
本文探讨了数据库中事务的调度策略,重点分析了冲突可串行化调度的概念及其验证方法。通过具体实例展示了如何判断一个调度是否为冲突可串行化调度,并解释了其对数据库并发控制的重要性。
7142

被折叠的 条评论
为什么被折叠?



