t1<t10 の時刻でスケジュールされたトランザクション T1∼T4 がある。時刻 t10 で T1 がcommitを発行する直前の,トランザクションの待ちグラフを作成した。〔 a 〕に当てはまるトランザクションはどれか。ここで,select(X) は共有ロックを掛けて資源 X を参照することを表し,update(X) は専有ロックを掛けて資源 X を更新することを表す。これらのロックは,commitされるまでアンロックされないものとする。また,トランザクションの待ちグラフの矢印は,Ti→Tj としたとき,Tj がロックしている資源のアンロックを,Ti が待つことを表す。
〔トランザクションのスケジュール〕
時刻 | トランザクション | |||
|---|---|---|---|---|
T1 | T2 | T3 | T4 | |
t1 | select(A) | ー | ー | ー |
t2 | ー | select(B) | ー | ー |
t3 | ー | ー | select(A) | ー |
t4 | ー | ー | ー | select(B) |
t5 | ー | ー | ー | update(B) |
t6 | select(C) | ー | ー | ー |
t7 | ー | select(C) | ー | ー |
t8 | ー | update(C) | ー | ー |
t9 | ー | ー | update(A) | ー |
t10 | commit | ー | ー | ー |
〔トランザクションの待ちグラフ〕

出典平成31年春期 午前Ⅱ
ア
T1
イ
T2
ウ
T3
エ
T4