更多“请简述两阶段封锁协议。 ”相关问题
  • 第1题:

    两阶段封锁协议中,“两段”的含义是,事务分为两个阶段,第一阶段是获得封锁,第二阶段是【 】。


    正确答案:释放封锁
    释放封锁 解析:所谓“两段”锁的含义是:事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段;第二阶段是释放封锁,也称为收缩阶段。

  • 第2题:

    下列叙述中,哪一条是不正确的?

    A.封锁是保证数据库一致性的常用方法

    B.封锁协议限制了可能的调度数目

    C.封锁自身会产生死锁问题

    D.强两阶段封锁协议就是严格两阶段封锁协议


    正确答案:D
    解析:严格两阶段封锁协议:除了要求封锁是两阶段之外,还要求事务持有的所有排他锁必须在事务提交之后方可释放。这个要求保证未提交事务所写的任何数据在该事务提交之前均以排他方式加锁,防止其他事务读取这些数据;强两阶段封锁协议:它要求事务提交之前不得释放任何锁。它旨在让冲突的事务尽可能地串行执行,这样的话,调度中的事务可以按其提交的顺序串行化。所以D)项不正确。

  • 第3题:

    事务在读和写操作之前都必须申请锁,等到事务结束时才能释放,下列封锁协议满足此类要求的是()

    A.1级封锁协议

    B.2级封锁协议

    C.3级封锁协议

    D.两阶段锁协议


    3 级封锁协议

  • 第4题:

    下列叙述中正确的是______。

    A.遵守两阶段封锁协议的并发事务一定是可串行化的

    B.遵守两阶段封锁协议的并发事务一定不会发生死锁

    C.遵守两阶段封锁协议的并发事务一定不会发生级联回滚

    D.遵守两阶段封锁协议的并发事务的所有锁一定要到事务提交之后才解锁


    正确答案:A
    解析:两阶段封锁协议保证可串行性。两阶段封锁并不保证不会发生死锁。两阶段封锁协议并不保证不会发生级联回滚,可以通过将两阶段封锁协议修改为严格两阶段封锁协议来避免级联回滚。两阶段封锁的另一个变体是强两阶段封锁协议,它要求事务提交之前不得释放任何锁。

  • 第5题:

    下列叙述中正确的是( )。

    A.遵守两阶段封锁协议的并发事务不一定是可串行化的

    B.遵守两阶段封锁协议的并发事务也有可能发生死锁

    C.遵守两阶段封锁协议的并发事务一定不会发生级联回滚

    D.遵守两阶段封锁协议的并发事务的所有锁一定要到事务提交之后才解锁


    正确答案:B
    解析:保证可串行性的一个协议是两阶段封锁协议。该协议要求每个事务分为两个阶段提出加锁和解锁申请。在增长阶段中,事务可以获得锁但不能释放锁。在缩减阶段中,事务可以释放锁但不能获得新锁。两阶段封锁协议保证可串行性。不幸的是两阶段封锁协议也有一些问题,如无法避免级联回滚。此外封锁自身也会引发问题,主要的问题是死锁。死锁指的是两个或更多的事务同时处于等待状态,每个事务都在等待其他的事务释放锁使其可继续执行。严格两阶段封锁协议除了要求封锁是两阶段之外还要求事务持有的所有排他锁必须在事务提交之后方可释放。因此选项A)、C)、D)是错误的。