Two-Phase Locking
两阶段锁(2PL)将事务分为加锁阶段与解锁阶段,保证可串行化但可能死锁。
用途
理解经典可串行化并发控制协议及其死锁风险与变体。
机制
阶段一(growing)只加锁不解锁;阶段二(shrinking)只解锁不加锁。严格 2PL(S2PL)在事务结束才解锁,避免级联回滚。强 2PL(SS2PL)读锁也持到结束,保证严格可串行化。
用例
- 并发控制设计
- 可串行化实现
- 死锁分析
两阶段锁(2PL)将事务分为加锁阶段与解锁阶段,保证可串行化但可能死锁。
理解经典可串行化并发控制协议及其死锁风险与变体。
阶段一(growing)只加锁不解锁;阶段二(shrinking)只解锁不加锁。严格 2PL(S2PL)在事务结束才解锁,避免级联回滚。强 2PL(SS2PL)读锁也持到结束,保证严格可串行化。