现在,我在这里有两笔交易。 一致性要求是A = 0 v B = 0,其中A = B = 0初始值
T1: read(A);
read(B);
if A=0 then B:=B+1;
write(B).
T2: read(B);
read(A);
if B=0 then A:=A+1;
write(A).
我知道没有并行执行导致可序列化的计划。所以我想应用两阶段锁定来保证可串行化。
剂量两相锁定如何保证可串行性?你能举一个这两笔交易的例子吗?
谢谢。
答案 0 :(得分:0)
正如您所提到的,没有并行执行导致可序列化的时间表,即时间表不是冲突序列化。
如果时间表不是冲突可序列化的,那么两阶段锁定协议会导致死锁。所以你不能使用两阶段锁定来保证可串行化。