数据库作业21:第十一章: 并发控制
9、
(1)2、4、8、16
(2)
T1 | T2 | T3 |
---|---|---|
Slock A | ||
Y=R(A)=0 | ||
Unlock A | ||
Xlock A | ||
Slock A | ||
A=Y+2=2 | 等待 | |
W(A) | 等待 | |
Unlock A | 等待 | |
X=R(A)=2 | ||
Unlock A | ||
Xlock A | ||
Slock A | ||
A=X*2 | 等待 | |
W(A) | 等待 | |
Unlock A | 等待 | |
Z=R(A)=2 | ||
Unlock A | ||
Xlock A | ||
A=Z**2 | ||
W(A) | ||
Unlock A |
(3)
T1 | T2 | T3 |
---|---|---|
Slock A | ||
Y=R(A)=0 | ||
Slock A | ||
Unlock A | 等待 | |
X=R(A)=0 | ||
Unlock A | ||
Xlock A | ||
A=Y+2=2 | ||
Slock A | ||
W(A) | 等待 | |
Unlock A | 等待 | |
Y=R(A)=2 | ||
Unlock A | ||
Xlock A | ||
A=Y**2 | ||
Xlock A | ||
等待 | W(A) | |
等待 | Unlock A | |
A=X*2 | ||
W(A) | ||
Unlock A |
(4)
T1 | T2 | T3 |
---|---|---|
Slock A | ||
X=R(A)=0 | ||
Xlock A | ||
A=A+2 | ||
Slock A | ||
W(A)=2 | 等待 | |
Unlock A | 等待 | |
Y=R(A)=2 | ||
Xlock A | ||
Unlock A | 等待 | |
A=Y*2 | Slock A | |
Slock A | ||
W(A) | 等待 | |
Unlock A | 等待 | |
Y=R(A)=4 | ||
Xlock A | ||
Unlock(A) | 等待 | |
A=Y**2 | ||
W(A) | ||
Unlock A | ||
Unlock A |
(5)
T1 | T2 | T3 |
---|---|---|
Slock A | ||
X=R(A)=0 | ||
Slock A | ||
X=R(A)=0 | ||
Xlock A | ||
等待 | ||
Xlock A | ||
等待 | ||
Slock A | ||
X=R(A)=0 | ||
Xlock A | ||
等待 |
10、
是
把r1(A)与w3(B)r2(B)交换,得到r3(B)w3(B)r2(B)r1(A)r2(A)w2(B)r1(B)w1(A)再把r1(A)和r2(A)w2(B)交换,得到r3(B)w3(B)r2(B)r2(A)w2(B)r1(A)r1(B)w1(A)等价于一个串行调度T3、T2、T1,所以是冲突可串行化调度。
14、
(1)
T1 | T2 |
---|---|
Slock A | |
X=R(A) | |
Y=R(B) | |
Xlock B | |
B=A+B | |
W(B) | |
Unlock A | Slock B |
Unlock B | 等待 |
X=R(B) | |
Xlock A | |
Y=R(A) | |
A=A+B | |
W(A) | |
Unlock B | |
Unlock A |
(2)会引起死锁
T1 | T2 |
---|---|
Slock A | |
X=R(A) | |
Y=R(B) | |
Slock B | |
B=A+B | |
Slock B | |
X=R(B) | |
Slock A | |
Y=R(A) | |
A=A+B | |
Xlock B | |
等待 | Xlock A |
等待 | 等待 |
当我刚刚得知写博客时:(我天 这表情包怎么这么大)
但是刚上实验课时听我另一个同学说他们都没做过实验时我的心情:(大就大了,侧面烘托出我的心情)
嘎嘎嘎他们有问题还会咨询我,我也有今天!不对不对,他们也有今天!!!
行 很ok 这可能是我离年级第一最近的一次了 耶!