假设T1、T2、T3可以并发执行。若A的初值为0,那么存在多少种可能的正确结果? 各个事务内部的结构如表13-4所示,若事务执行不施加任何锁,则有多少种不同的调度方式?写出简要的计算过程。 在A的初值给定为0时,是否存在能够产生正确

admin2010-01-15  30

问题 假设T1、T2、T3可以并发执行。若A的初值为0,那么存在多少种可能的正确结果?
各个事务内部的结构如表13-4所示,若事务执行不施加任何锁,则有多少种不同的调度方式?写出简要的计算过程。
      
   在A的初值给定为0时,是否存在能够产生正确结果,而且又是不可串行化的调度?若有请举例说明。

选项

答案假设Ri、Rj、Rk表示各事务的R操作,Up、Uq、Ur表示各事务的U操作,那么根据组合数学中的乘法原理有: Ri→Rj→Rk→Up→Uq→Ur 3×2×1×3×2×1=36 Ri→Rj→Up→Rk→Uq→Ur 3×2×2×1×2×1=24 Ri→Rj→Up→Uq→Rk→Ur 3×2×2×1×1×1=12 Ri→Up→Rj→Rk→Uq→Ur 3×1×2×1×2×1=12 Ri→Up→Rj→Uq→Uk→Ur 3×1×2×1×1×1=6 全部加起来得:36+24+12+12+6=90,因此共有90种不同的调度方式。

解析
转载请注明原文地址:https://jikaoti.com/ti/gQi7FFFM
0

最新回复(0)