T1 T2
read(C) read(A)
C:=C+1 A:=A+1
write(C) write(A)
read(A) read(B)
A:=A+2 B:=B+1
write(A) write(B) 对上图的事务T1和T2,构造一个符合两阶段协议,并且冲突等价于串行调度 <T1;T2>的并发调度.
这是4级数据库中的一道题目,在下实在做不出来,劳烦大侠指点
read(C) read(A)
C:=C+1 A:=A+1
write(C) write(A)
read(A) read(B)
A:=A+2 B:=B+1
write(A) write(B) 对上图的事务T1和T2,构造一个符合两阶段协议,并且冲突等价于串行调度 <T1;T2>的并发调度.
这是4级数据库中的一道题目,在下实在做不出来,劳烦大侠指点
只能是一开始就取得Xlock吧,不然2阶段锁也可以造成死锁的发生。T1 T2
------------------------------------
XLOCK (C) SLOCK (A)
XLOCK (A) 等待
READ (A)
C:=C+1
WRITE (C)
A:=A+2
WRITE (A)UNLOCK (A) XLOCK (A)
UNLOCK (C) XLOCK (B) READ (A)
A:=A+1
WRITE (A)
READ (B)
B:=B+1
WRITE (B) UNLOCK (B)
UNLOCK (A)