数据库作业21:第十一章: 并发控制

数据库作业21:第十一章: 并发控制
9、
(1)
T1 T2 T3 A=16
T1 T3 T2 A=8
T2 T1 T3 A=4
T2 T3 T1 A=2
T3 T1 T2 A=4
T3 T2 T1 A=2

(2)

T1 T2 T3
R(A)=0
R(A)=0
A=A+2
A=A*2
W(A)=2
R(A)=2
W(A)=0
A=A**2
W(A)=4

A=4

(3)

T1 T2 T3
R(A)=0
R(A)=0
R(A)=0
A=A+2
A=A*2
W(A)=2
W(A)=0
A=A**2
W(A)=0

A=0

(4)

T1 T2 T3
Xlock A
R(A)=0
Xlock A
A=A+2 等待
W(A)=2 等待
Unlock A 等待
R(A)=2
A=A*2
Xlock A
W(A)=4 等待
Unlock A 等待
R(A)=4
A=A**2
W(A)=16
Unlock A

(5)

T1 T2 T3
Slock A
R(A)=0
Slock A
A=A+2
Xlock A
等待 A=A*2
等待 Xlock A
等待 等待 Xlock A
等待 等待 等待
等待 等待 等待

10、
冲突操作:
r3_{3}(B)与 w2_{2}(B)
w3_{3}(B)与 r2_{2}(B)
w3_{3}(B) 与 w2_{2}(B)
w3_{3}(B) 与 r1_{1}(B)
r2_{2}(A) 与 w1_{1}(A)
w2_{2}(B) 与 r1_{1}(B)
调度= r3_{3}(B) w3_{3}(B) r2_{2}(B) r2_{2}(A) w2_{2}(B) r1_{1}(A) r1_{1}(B) w1_{1}(A)
等价于串行调度T3、T2、T1,是冲突可串行化调度。

14、
(1)

T1 T2
Slock A Xlock A
Xlock B Slock B
R(A) R(B)
R(B) R(A)
B=A+B A=A+B
W(B) W(A)
Unlock A Unlock A
Unlock B Unlock B

(2)不会引起死锁

T1 T2
Xlock A
Slock A
等待 Slock B
等待 R(B)
等待 R(A)
等待 A=A+B
等待 W(A)
等待 Unlock A
Xlock B
等待 Unlock B
R(A)
R(B)
B=A+B
W(B)
Unlock A
Unlock B