《数据库》期末考试复习手写笔记-第11章 并发控制(锁)【10分】

目录

 知识点:封锁+活锁+死锁+可串行化调度

考题1:可串行化调度

 考题2:调度正确判断&共享锁+写锁

考题3: 事务调度+死锁


知识点:封锁+活锁+死锁+可串行化调度

考题1:可串行化调度

 

 考题2:调度正确判断&共享锁+写锁

现在有两个事务,分别包含以下操作:
事务T1:读A: B=A+200;写回B。
事务T2:读B: A=B+100; 写回A。
设A和B的初始值分别是100和200。如下调度是
否是正确的调度?说明理由。

在按照图中顺序运行时,其运行结果为:A=300,B=300。与
情况1:T1 -> T2次序运行,结果A=400,B=300。
情况2:T2 -> T1次序运行,结果A=300, B=500。都不相同。故,错误。 

     

考题3: 事务调度+死锁

给定A和B两个事务,设i和j的初始值分别是20和80。

事务A             事务B

读i;                   读i;

i:=i*i;                读j;

写i;                   j:=i*j;     

                        写j;

(1)请问如下调度是否是正确的调度,并说明理由。

(2)请问事务A和事务B在执行过程中,是否会发生死锁?为什么?      

  1. 正确。考虑B -> A次序执行,i=400,j=1600。与图中结果相符合。
  2. 不会死锁。因为事务A仅对i封锁和释放
    事务B中封锁和释放j,不会有
    A领B锁住的数据,同时
    B锁A已经封锁过的数据

    

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值