T2結(jié)果:A=50.5B=252..."/>
閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
假設(shè)有兩項(xiàng)業(yè)務(wù)對(duì)應(yīng)的事務(wù)T1、T2與存款關(guān)系有關(guān):
(1)轉(zhuǎn)帳業(yè)務(wù):T1(A,B,50),從帳戶A向帳戶B轉(zhuǎn)50元;
(2)計(jì)息業(yè)務(wù):T2,對(duì)當(dāng)前所有帳戶的余額計(jì)算利息,余額為X*1.01。
針對(duì)上述業(yè)務(wù)流程,回答下列問題:
【問題1】(3分)
假設(shè)當(dāng)前帳戶A余額為100元,帳戶B余額為200元。有兩個(gè)事務(wù)分別為T1 (A,B,50),T2,一種可能的串行執(zhí)行為:
T1(A, B, 50) ->T2結(jié)果:A= 50.5 B=252.5 A+B=303
請(qǐng)給出其它的串行執(zhí)行次序和結(jié)果。
【問題2】(8分)
若上述兩個(gè)事務(wù)的一個(gè)并發(fā)調(diào)度結(jié)果如下:
(1)上述調(diào)度是否正確,為什么?(3分)
(2)引入共享鎖指令Slock()、獨(dú)占鎖指令Xlock()和解鎖指令Unlock(),使上述調(diào)度滿足兩段鎖協(xié)議,并要求先響應(yīng)T1的請(qǐng)求。請(qǐng)給出一個(gè)可能的并發(fā)調(diào)度結(jié)果。(5分)
【問題3】(4分)
若將計(jì)息業(yè)務(wù)T2改為對(duì)單個(gè)帳戶的余額計(jì)算利息,即T2 (A)余額為A*1.01,請(qǐng)給出串行調(diào)度T1 (A,B,50) ->T2 (A) ->T2 (B)和串行調(diào)度T2 (A) ->T1 (A,B,50) ->T2 (B)的執(zhí)行結(jié)果。
若將計(jì)息業(yè)務(wù)設(shè)計(jì)為對(duì)單個(gè)帳戶的余額計(jì)算利息,這種方案是否正確,為什么?