阅读下列说明,回答问题。【说明】现有事务T1,T2、L3它们对数值型数据A执行的操作分别如下:T1;将A加1。T2:将A加倍。T3:输出A的值,并将A置为1。假设T1、T2、T3可以并发执行。若A的初值为0,那么存在多少种可能的正确结果?

题目

阅读下列说明,回答问题。

【说明】

现有事务T1,T2、L3它们对数值型数据A执行的操作分别如下:

T1;将A加1。

T2:将A加倍。

T3:输出A的值,并将A置为1。

假设T1、T2、T3可以并发执行。若A的初值为0,那么存在多少种可能的正确结果?


相似考题
更多“阅读下列说明,回答问题。【说明】 现有事务T1,T2、L3它们对数值型数据A执行的操作分别如下: T1;将A加 ”相关问题
  • 第1题:

    事务T1、T2、T3分别对数据D1、D2和D3并发操作如下所示,其中T1与T2间并发操作(14),T2与T3间并发操作(15)。

    A.不存在问题

    B.将丢失修改

    C.不能重复读

    D.将读“脏”数据


    正确答案:C

  • 第2题:

    事务T1、T2、T3分别对数据D1、D2和D3并发操作,如下所示,其中T1与T2间并发操作(45),T2与T3间并发操作(46)。

    A.不存在问题

    B.将丢失修改

    C.不能重复读

    D.将读“脏”数据


    正确答案:C

  • 第3题:

    试题五(共15分)

    阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

    【说明】

    假设有两项业务对应的事务T1、T2与存款关系有关:

    (1)转帐业务:T1(A,B,50),从帐户A向帐户B转50元;

    (2)计息业务:T2,对当前所有帐户的余额计算利息,余额为X*1.01。

    针对上述业务流程,回答下列问题:

    【问题1】(3分)

    假设当前帐户A余额为100元,帐户B余额为200元。有两个事务分别为T1 (A,B,50),T2,一种可能的串行执行为:

    T1(A, B, 50) ->T2结果:A= 50.5 B=252.5 A+B=303

    请给出其它的串行执行次序和结果。

    【问题2】(8分)

    若上述两个事务的一个并发调度结果如下:

    (1)上述调度是否正确,为什么?(3分)

    (2)引入共享锁指令Slock()、独占锁指令Xlock()和解锁指令Unlock(),使上述调度满足两段锁协议,并要求先响应T1的请求。请给出一个可能的并发调度结果。(5分)

    【问题3】(4分)

    若将计息业务T2改为对单个帐户的余额计算利息,即T2 (A)余额为A*1.01,请给出串行调度T1 (A,B,50) ->T2 (A) ->T2 (B)和串行调度T2 (A) ->T1 (A,B,50) ->T2 (B)的执行结果。

    若将计息业务设计为对单个帐户的余额计算利息,这种方案是否正确,为什么?


    正确答案:
    【问题1】(3分)
    T2->T1 (A,B,50) 结果:A= 51 B=252 A+B = 303
    【问题2】(8分)
    (1)调度不正确
    结果为:A= 50.5 B=252
    原因: 与任何一个串行结果都不同。
    (2)满足两段锁协议的调度:

    【问题3】(4分)
    三个事务的串行:
    (1) T1 (A,B,50) ->T2 (A) ->T2 (B)结果:A= 50.5 B=252.5
    (2) T2 (A) ->T1 (A,B,50) ->T2 (B)结果:A=51 B=252.5
    不正确。计息业务设计为对单个帐户的余额计算利息,无法实现对所有帐户的锁定和统一计息,其间的转账会产生数据错误,会造成银行或客户的损失。

  • 第4题:

    事务T1,T2,T3分别对数据D1,D2,D3并发操作如下图所示,其中T1与T2问的并发操作存在的问题是 (1) 。T2与T3问的并发操作存在的问题是 (2) 。

    1.


    正确答案:不能重复读
    不能重复读

  • 第5题:

    ● 事务 T1、T2、T3 分别对数据 1 D 、 2 D 和 3 D 并发操作如下所示,其中 T1 与 T2间并发操作 (45) ,T2与T3间并发操作 (46)

    (45)

    A. 不存在问题

    B. 将丢失修改

    C. 不能重复读

    D. 将读“脏”数据

    (46)

    A. 不存在问题

    B. 将丢失修改

    C. 不能重复读

    D. 将读“脏”数据


    正确答案:C,B