读操作的锁是也要保持到E0T(end of transaction)读操作完成即释放锁,不 会引起连锁卷回,但可引起读值不可复现。 Ti T2 lock(D)月 R1(D) unlock(D); lock(D)为 W2(D), unlock (D); lock(D)为 R1(D)方 unlock(D方
6 读操作的锁是也要保持到EOT(end of transaction)读操作完成即释放锁,不 会引起连锁卷回,但可引起读值不可复现。 T1 T2 . . . lock(D); R1(D); unlock(D); . . . . . . . . . lock(D); R1(D); unlock(D); . . . . . . . . . . . . lock(D); W2(D); unlock(D); . . . . . . . .
二.two-phase locking protocol 2PL协议,两段封锁协议 o Two-phase transaction and two-phase locking protocol 。在一个事务中,如果加锁动作都在释放锁动作之前 称此事务为两段事务。上述加锁的限制称两段封锁协议。 两段事务可截然为两段:拥有的锁增长阶段(growing phase),拥有的锁缩减段段(shr inking phase) ● 两段事务中,一旦开始释放第一个锁之后,再不准对 任何数据对象加锁
7 二.two-phase locking protocol 2PL协议,两段封锁协议 ⚫ Two-phase transaction and two-phase locking protocol ⚫ 在一个事务中,如果加锁动作都在释放锁动作之前 称此事务为两段事务。上述加锁的限制称两段封锁协议。 ⚫ 两段事务可截然为两段:拥有的锁增长阶段(growing phase),拥有的锁缩减段段(shrinking phase)。 ⚫ 两段事务中,一旦开始释放第一个锁之后,再不准对 任何数据对象加锁