对于下面给出的时间表,以下哪个是正确的?
1 Read A
2 Read B
3 Write A
4 Read A
5 Write A
6 Write B
7 Read B
8 Write B
(A)此计划是可序列化的,并且可以在使用 2PL 协议的方案中发生。
(B)该计划是可序列化的,但不能出现在使用 2PL 协议的方案中。
(C)此计划不可序列化,但可以在使用 2PL 协议的方案中发生。
(D)这个调度是不可序列化的,不能出现在使用 2PL 协议的方案中。答案: (D)
说明:数据项 A 的初始读取由 T1 完成,而数据项 B 的最终写入由 T1 完成。因此 W1(A) , R2( A) 和 W2(B) , R1(B ) 是冲突对。调度既不是 T1 –> T2 也不是 T2 –> T1 可序列化。由于 schedule 是不可序列化的,所以它不会出现在使用 2PL 协议的方案中。
选项(D)是正确的。
这个问题的测验