データベーススペシャリスト試験 令和6年度 秋期 午前II 問13
トランザクションA~Gの待ちグラフにおいて、永久待ちの状態になっているトランザクション全てを列挙したものはどれか。ここで、待ちグラフのX→Yは、トランザクションXはトランザクションYがロックしている資源のアンロックを待っていることを表す。

選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ウ
待ちグラフでは、矢印の向きに注意します。図から、C→B、B→D、D→Cという待ち関係が読み取れます。これは、CがBを、BがDを、DがCを待つ閉路です。三者のうち誰も自力ではロックを解放できないので、B、C、Dはデッドロックによる永久待ちになります。さらにF→Dであり、Fは永久待ちとなったDのロック解放を待っています。Dが処理を終えられない以上、Fも永久に先へ進めません。したがって、B、C、D、Fを列挙したウが正解です。
アは誤りです。Aには出ていく矢印がなく、A自身は他のトランザクションを待っていません。一方、Dを待つFが漏れています。
イは誤りです。閉路を構成するB、C、Dは含まれますが、その閉路に含まれるDの解放を待つFも永久待ちになるためです。
エは誤りです。EはGを待っていますが、Gは待ち状態ではないので、Gが終了すればEは進めます。A、E、Gは閉路のために永久待ちとなるトランザクションではありません。
【ポイント】 待ちグラフに閉路があれば、閉路上のトランザクションはデッドロック状態です。 閉路上のトランザクションを待つ外側のトランザクションも、解消処理がなければ永久待ちになります。 矢印は「待つ側→ロックを保持する側」と読んで追跡します。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前II 問13
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる