请输入您要查询的百科知识:

 

词条 两阶段封锁
释义

一、两段锁协议的内容

1. 在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁

2. 在释放一个封锁之前,事务不再获得任何其他封锁。

“两段”锁的含义

事务分为两个阶段:

第一阶段是获得封锁,也称为扩展阶段;

第二阶段是释放封锁,也称为收缩阶段。

例:

事务1的封锁序列:

Slock A ... Slock B ... Xlock C ... Unlock C ... Unlock B ... Unlock A;

事务2的封锁序列:

Slock A ... Unlock A ... Slock B ... Xlock C ... Unlock C ... Unlock B;

事务1遵守两段锁协议,而事务2不遵守两段协议。

并行执行的所有事务均遵守两段锁协议,则对这些事务的所有并行调度策略都是可串

行化的。

所有遵守两段锁协议的事务,其并行执行的结果一定是正确的。事务遵守两段锁协议

是可串行化调度的充分条件,而不是必要条件。可串行化的调度中,不一定所有事务

都必须符合两段锁协议。

二、两段锁协议与防止死锁的一次封锁法

一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执

行,因此一次封锁法遵守两段锁协议,但是两段锁协议并不要求事务必须一次将所有

要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁。

三、两段锁协议与三级封锁协议

两类不同目的的协议

两段锁协议:保证并发调度的正确性

三级封锁协议:在不同程度上保证数据一致性

遵守第三级封锁协议必然遵守两段协议

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 15:19:10