阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 [说明] 现有一个事务集{T1,T2,T3,T4},其中这4个事务在运行过程中需要读写表X、Y和 Z。设Ti对X的读操作记作TiR(X),Ti对X的写操作记作Tiw(X)。 事务对

admin2008-02-15  26

问题 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
[说明]
   现有一个事务集{T1,T2,T3,T4},其中这4个事务在运行过程中需要读写表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(2)
   T4:T4R(Z),T4w(X)

选项

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

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

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