在并发控制中引入两段锁协议的目的是( )。A)为了解决并行执行时可能引起的死锁问题B)为了解决并行执行时可能引起的活锁问题C)为了解决不同的调度导致不同的运行结果D)为了解决交叉调度的不可串行化问题

题目

在并发控制中引入两段锁协议的目的是( )。

A)为了解决并行执行时可能引起的死锁问题

B)为了解决并行执行时可能引起的活锁问题

C)为了解决不同的调度导致不同的运行结果

D)为了解决交叉调度的不可串行化问题


相似考题
更多“在并发控制中引入两段锁协议的目的是( )。A)为了解决并行执行时可能引起的死锁问题B)为了解决并 ”相关问题
  • 第1题:

    在死锁的解决方法中,为了避免死锁而采用资源预分配策略,但可能会导致资源的浪费。()


    正确答案:对

  • 第2题:

    在并行控制中引入两段封锁协议的目的是

    A.为了解决并行执行时可能引起的死锁问题

    B.为了解决并行执行时可能引起的活锁问题

    C.为了解决交叉调度的不可串行化问题

    D.为了解决不同的调度导致不同的运行结果


    正确答案:C
    解析:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。所谓两段锁的含义是:事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段;第二阶段是释放封锁,也称为收缩阶段。若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度都是可串行化的。

  • 第3题:

    下列叙述中,正确的是

    A.不遵循两段锁协议的并发调度一定是不可串行的

    B.两级封锁协议可以保证数据的可重读性

    C.对某个数据对象加了X封锁,则还可以在该数据对象上加S封锁

    D.遵循两段封锁协议的并发事务一定不会发生死锁


    正确答案:B
    解析:两段锁协议是保证并发调度可串行化的充分条件;对某个数据对象加了X锁,则其他任何事务不能再对该数据对象加任何类型的锁;遵循两段协议的并发事务可能发生死锁。因此本题正确答案为选项B。

  • 第4题:

    为保证入口处伪代码正确地并发执行,引入共享锁指令SLock(T)和独占锁指令XLock(T)对表T进行加锁;Upgrade(T)对表T所加的共享锁升级为独占锁;解锁指令 Unlock(T)对表T进行解锁。

    (1)请修改上述入口处的伪代码程序,使其满足2PL协议。

    (2)满足2PL协议的入口处的伪代码程序,在并发执行时是否会产生死锁?若是,给出一个产生死锁的调度。


    正确答案:(1)满足2PL协议的伪代码: SLock(T); x=Get(); IF x=NULL THEN return 0; Upgrade(T) Writ(x1); Unlock(T); (2)会产生死锁调度如下: 注:调度次序不局限于本参考答案但执行语句不能写在一行必须是并发而不能是串行且在Upgrade后等待。
    (1)满足2PL协议的伪代码: SLock(T); x=Get(); IF x=NULL THEN return 0; Upgrade(T) Writ(x,1); Unlock(T); (2)会产生死锁,调度如下: 注:调度次序不局限于本参考答案,但执行语句不能写在一行,必须是并发而不能是串行,且在Upgrade后等待。 解析:考查对2PL协议的掌握和实际应用的能力,考生要清楚何时回锁,加什么类型的锁,以及锁的升级等基本概念和方法,同时对2PL协议与死锁的关系要求有明确的认知。2PL规定:读数据前加S锁,事务结束时释放;写数据前加X锁,事务结束时释放;当要修改数据时,事务应对自己所加的S锁升级为X锁。2PL解决的是事务并发时的正确调度,并不能解决死锁,死锁是由DBMS进行检测和解除的。

  • 第5题:

    如右图所示的调度,其中事务T1、T2仅对数据项A、B进行操作,则该调度( );

    A.满足两段锁协议、不发生死锁
    B.满足两段锁协议、会发生死锁
    C.不满足两段锁协议、不发生死锁
    D.不满足两段锁协议、会产生死锁

    答案:B
    解析:
    本题考查事务调度的知识。事务的执行由DBMS进行调度,在执行事务的过程中加入相关锁指令以控制事务满足ACID属性。常用的方式是两段锁协议(2PL),即事务的加锁和解锁分为两个阶段,第一阶段为锁增长阶段,只能加锁不能解锁,第二阶段为锁减少阶段,只能解锁不能加锁。图中的调度,事务T1对8、A两个数据项加锁中间无解锁指令,满足2PL协议;事务T2对A、B两个数据项加锁中间无解锁指令,也满足2PL协议。2PL协议不能避免死锁。图中事务T1先对数据项B加了独占锁,事务T2先对数据A加了共享锁;随后事务T2申请数据项B上的共享锁,只能等待事务T1释放B上的独占锁;事务T1申请数据项A上的独占锁,只能等待事务T2释放A上的共享锁。两个事务相互等待造成死锁。死锁的解除由DBMS来完成。需要在造成死锁的多个事务中选择一个回滚代价最小的事务进行强制回滚,并将该事务置于事务队列中稍后执行。图中事务T1对数据B己经做了修改,事务T2只是读取了数据A,相对而言,回滚事务T2代价最小。

  • 第6题:

    为了解决IP地址资源匮乏引入的网络协议是?


    正确答案:IPV6

  • 第7题:

    应用数据库的主要目的是为了()

    • A、解决数据保密问题
    • B、解决数据完整性问题
    • C、解决数据共享问题
    • D、解决数据量大的问题

    正确答案:C

  • 第8题:

    在MPLS VPN架构中引入RT是为了()。

    • A、支持复杂的VPN拓扑
    • B、解决VPN客户地址唯一性问题
    • C、解决VPN客户的安全问题
    • D、所有以上

    正确答案:A

  • 第9题:

    两段锁协议不会导致死锁


    正确答案:错误

  • 第10题:

    下面说法正确的是()

    • A、遵循两段锁协议保证不会产生死锁
    • B、不遵循两段锁协议一定产生死锁
    • C、并发调度是正确的,当且仅当这些事务遵循两段锁协议
    • D、如果事务都遵循两段锁协议,则这些事务的任何并发调度都是可串行化的

    正确答案:D

  • 第11题:

    下列说法中,与洋务运动后期在天津兴办开平煤矿的目的无关的是()

    • A、为了学习西方先进科学技术
    • B、为了“求富”
    • C、为解决军事工业的燃料、运输问题
    • D、为了解决军事工业的资金紧张问题

    正确答案:A

  • 第12题:

    多选题
    在数据库中解决死锁问题可以()。
    A

    使用一次封锁法预防死锁发生

    B

    使用顺序封锁法预防死锁发生

    C

    定期诊断系统中是否发生死锁,若有则撤销某个事务来解除之

    D

    使用两段锁协议


    正确答案: D,B
    解析: 暂无解析

  • 第13题:

    征信的主要目的是为了解决信用交易中()问题,防范和控制()。


    本题答案:信息不对称、信用风险

  • 第14题:

    下列叙述中,正确的是

    A.不遵循两段锁协议的并发调度一定是不可串行的

    B.两级封锁协议可能保证数据的可重读性

    C.对某处数据对象加了X封锁,则还可以在该数据对象上加S封锁

    D.遵循两段封锁协议的并发事务一定不会发生死锁


    正确答案:B
    解析:两段锁协议是保证并发调度可串行化的充分条件:对某个数据对象加了X锁,则其他任何事务不能再对该数据对象加任何类型的锁;遵循两段锁协议的并发事务可能发生死锁。

  • 第15题:

    Windows NT引入线程的概念,主要是为了( )。

    A.解决资源分配的问题

    B.用户使用方便

    C.更方便更有效地实现并行性

    D.增加可移植性


    正确答案:C
    解析:Windows NT Server采用线程作为调度执行的基本单位并采用抢占式调度策略,使得应用程序能够更有效地并行运行。

  • 第16题:

    下列说法中,与洋务运动后期在天津兴办开平煤矿的目的无关的是()

    A.为了学习西方先进科学技术

    B.为了“求富”

    C.为解决军事工业的燃料、运输问题

    D.为了解决军事工业的资金紧张问题


    参考答案:A

  • 第17题:

    下面说法中错误的是( ).

    A.并发事务如果不加控制,可能会破坏事务的隔离性
    B.可串行化调度是正确的调度
    C.两段锁协议能够保证可串行化调度
    D.两段锁协议能够确保不会产生死锁

    答案:D
    解析:

  • 第18题:

    资源的静态分配算法在解决死锁问题中是用于()

    • A、 防止死锁
    • B、 避免死锁
    • C、 检测死锁
    • D、 解除死锁

    正确答案:A

  • 第19题:

    下面说法不正确的是()

    • A、遵循两段锁协议保证不会产生死锁
    • B、如果事务都遵循两段锁协议,则这些事务的任何并发调度都是可串行化的
    • C、不遵循两段锁协议一定产生死锁
    • D、并发调度是正确的,当且仅当这些事务遵循两段锁协议

    正确答案:A,C,D

  • 第20题:

    在数据库中解决死锁问题可以()。

    • A、使用一次封锁法预防死锁发生
    • B、使用顺序封锁法预防死锁发生
    • C、定期诊断系统中是否发生死锁,若有则撤销某个事务来解除之
    • D、使用两段锁协议

    正确答案:A,B,C

  • 第21题:

    两段锁协议可能会导致死锁


    正确答案:正确

  • 第22题:

    操作系统中采用缓冲技术的目的是为了增强系统()的能力。

    • A、串行操作
    • B、控制操作
    • C、重执操作
    • D、并行操作

    正确答案:D

  • 第23题:

    计算综合指数时,为了解决不能直接相加的问题,引入了()。


    正确答案:同度量因素

  • 第24题:

    填空题
    征信的主要目的是为了解决信用交易中()问题,防范和控制()。

    正确答案: 信息不对称、信用风险
    解析: 暂无解析