0

现在,我在这里有两笔交易。一致性要求为 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).

我知道没有并行执行导致可序列化的计划。所以我想应用两阶段锁定来保证可序列化。

两阶段锁定如何保证可串行化?你能给我举一个这两笔交易的例子吗?

谢谢你。

4

1 回答 1

0

正如您所提到的,没有并行执行导致可序列化的计划,即计划不冲突序列化。

如果一个调度不是可序列化的冲突,那么两阶段锁定协议会导致死锁。所以你不能使用两阶段锁定来保证可序列化。

于 2014-10-30T21:29:16.593 回答