トランザクションA〜Gの待ちグラフにおいて、永久待ちの状態になっているトランザクション全てを列挙したものはどれか。ここで、待ちグラフのX→Yは、トランザクションXはトランザクションYがロックしている資源のアンロックを待っていることを表す。
永久待ちは待ちグラフの閉路とそこへ到達する待ち全部

選択肢
- アA, B, C, D
- イB, C, D
- ウB, C, D, F
- エC, D, E, F, G
正解と解説
正解:ウ B, C, D, F
待ちグラフに閉路があると、その閉路上のトランザクションは互いのアンロックを待ち続けるためデッドロックとなる。さらに、閉路上のトランザクションを待っているトランザクションも、閉路が解消されない限り永久に待たされる。したがって永久待ちは閉路の構成メンバーと、そこへ到達する矢印を持つものの合計になる。閉路に含まれず一方向に待つだけのものは、いずれ解放されるので永久待ちではない。
選択肢ごとの解説
- ア待たれているだけで自分は何も待っていないトランザクションを含めており、永久待ちではない。
- イ閉路の3者だけを挙げているが、その閉路を待っているトランザクションが抜けている。
- ウ正しい。閉路を構成する3者と、その閉路へ待ち矢印を出しているトランザクションの合計になる。
- エ閉路に含まれず、いずれロックが解放される一方向の待ちを永久待ちに数えてしまっている。
同じ分野の他の問題
- DBMSにおいて、トランザクション間でデッドロックが発生していることを検出するために使用するものはどれか。2016年度 春期 午前II 問13
- 複数のバッチ処理を並行して動かすとき、デッドロックの発生をできるだけ回避したい。バッチ処理の設計ガイドラインのうち、適切…2022年度 秋期 午前II 問13
- RDBMSのロックに関する記述のうち、適切なものはどれか。ここで、X,Yはトランザクションとする。2021年度 秋期 午前II 問14
- t1〜t10の時刻でスケジュールされたトランザクションT1〜T4がある。時刻t10でT1がcommitを発行する直前の、…2019年度 春期 午前II 問10
- DBMSにおいて、デッドロックを検出するために使われるデータ構造はどれか。2018年度 春期 午前II 問16
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。