为保证入口处伪代码正确地并发执行,引入共享锁指令SLock(T)和独占锁指令XLock(T)对表T进行加锁;U
为保证入口处伪代码正确地并发执行,引入共享锁指令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(x,1); Unlock(T); (2)会产生死锁,调度如下: 注:调度次序不局限于本参考答案,但执行语句不能写在一行,必须是并发而不能是串行,且在Upgrade后等待。 解析:考查对2PL协议的掌握和实际应用的能力,考生要清楚何时回锁,加什么类型的锁,以及锁的升级等基本概念和方法,同时对2PL协议与死锁的关系要求有明确的认知。2PL规定:读数据前加S锁,事务结束时释放;写数据前加X锁,事务结束时释放;当要修改数据时,事务应对自己所加的S锁升级为X锁。2PL解决的是事务并发时的正确调度,并不能解决死锁,死锁是由DBMS进行检测和解除的。
一棵树共有n个节点的数,其中所有分支节点的度均为k,则该数中叶子节点的个数为A.n(k-1)/kB 数学 2020-04-25 …
过m边行的一个顶点有7条对角线,n边行没有对角线,k边行共有k条对角线,求(m-k)n的绝对值的值 数学 2020-05-23 …
k边形有k条对角线,k为几边?过m边形的一个顶点画的对角线可以把多边形分成5个三角形,n边形没有对 数学 2020-06-17 …
已知抛物线y2=-2x过点P(1,1)的直线斜率为k,当K取何值时,l与抛物线有且只有一个公共点, 数学 2020-06-27 …
二次函数y=x^2-|k|与正比例函数y=kx(k不等于0)图像的位置关系为()A.相离B.相切C 数学 2020-07-26 …
在整数集Z中,被4除所得余数为k的所有整数组成一个“类”,记为[k]={4n+k|n∈Z},k=0 其他 2020-07-26 …
在平面直角坐标系XOY中,已知圆x^2+y^2-12x+32=0的圆心为Q过点P(0,2)且斜率为 数学 2020-07-26 …
他的说法正确吗,为什么?你拿了两张红桃K和两张黑桃K,把它们放在一起洗了很久,然后任意翻出两张来. 其他 2020-07-26 …
下列说法中,正确的一个是1.(y-y1)/(x-x1)=k表示过点P1(x1,y1)且斜率为k的直 数学 2020-08-01 …
由3个非零数字组成的三位数与这三个数字之和的商记为k,如果k为整数,那么k的最大值是多少?请给确切, 数学 2020-11-18 …