【说明】 现有一个事务集{T1,T2,T3,T4),其中这四个事务在运行过程中需要读写X、Y和Z。设Ti对X的读操作记作TiR(X),Ti对X的写操作记作Tiw(X)。 事务对XYZ的访问情况如下: T1: T1R(X) T2: T

admin2009-05-15  40

问题 【说明】
   现有一个事务集{T1,T2,T3,T4),其中这四个事务在运行过程中需要读写X、Y和Z。设Ti对X的读操作记作TiR(X),Ti对X的写操作记作Tiw(X)。
   事务对XYZ的访问情况如下:
   T1: T1R(X)
   T2: T2R(Y),T2w(X)
   T3: T3w(Y),T3w(X),T3w(Z)
   T4: T4R(Z),T4w(X)

选项

答案事务的可串行化调度。多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行执行它们时的结果相同。

解析 串行调度:事务的依次执行称为串行调度。
并发调度:利用分时的方法,同时处理多个事务,称为事务的并发调度。
可串行化调度:对于事务集(T<1>,T<2>,...,T),如果一个并发调度的结果与一个串行调度等价,则称此调度是可串行化调度。它是并发调度正确性的准则。
   不可串行化调度:对于某事务集的一个并发调度结果,如果与任一串行调度均不等价,则该调度是不可串行化调度。
   调度信赖图的箭头所指事务必须在箭尾事务执行结束后才可执行。如调度序列中的 T3w(X)是T3事务对数据X加写锁,而之前有T1事务对X加了读锁,所以T3事务得等到T1事务释放了X上的读锁之后才能加写锁,即T3事务依赖于T1事务的执行结束。
   根据事务依赖有向图,如果有一条包含所有事务结点的简单路径,则该路径上的结点序列即为并发调度等价的串行调度序列。从该图可得路径:T1->T3->T2->T4,所以,题目给定的调度是正确的。
   事务的提交是随机的,事务程序使用加锁可以实现并发事务的隔离性,使用两段锁协议可以保证事务调度的可串行化。
转载请注明原文地址:https://jikaoti.com/ti/iex7FFFM
0

相关试题推荐
最新回复(0)