平成28年度春期 問28 / 80

平成28年度 春期 応用情報技術者試験 午前 問28

トランザクション A(処理 A1→処理 A2 の順に実行する)とトランザクション B(処理 B1→処理 B2 の順に実行する)が,データベースの資源 S と T に対し,次のように処理 A1→処理 B1→処理 A2→処理 B2 の順で専有ロックを要求する場合,デッドロックが発生する資源の組合せはどれか。 なお,ロックは処理開始時にかけ,トランザクション終了時に解除する。

問題の図

A1 B1 A2 B2
ア S S T T
イ S T T S
ウ T S T S
エ T T S S

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:イ

デッドロックは,A と B がそれぞれ相手の持っている資源のロック解除を待ち合う状態です。各組合せで順に確認します。

  • ア: A1:S,B1:S,A2:T,B2:T
    誤り。B1 は A が持つ S を待ちます。A は A2 で T を得て COMMIT し,S を解除するので,B は続行できます。デッドロックは発生しません。

  • イ: A1:S,B1:T,A2:T,B2:S
    正しい。A が S,B が T をロックした後,A2 は B が持つ T を,B2 は A が持つ S を待ちます。互いに相手の解除を待ち続けるため,デッドロックが発生します。

  • ウ: A1:T,B1:S,A2:T,B2:S
    誤り。A2 の T は A 自身が既に持っているので A は COMMIT まで進み,T を解除します。B2 の S は B 自身が持っているので,デッドロックは発生しません。

  • エ: A1:T,B1:T,A2:S,B2:S
    誤り。B1 は A が持つ T を待ちます。A は A2 で S を得て COMMIT し,T を解除するので,B は続行できます。デッドロックは発生しません。


答え

イ: A1:S,B1:T,A2:T,B2:S

出典:平成28年度 春期 応用情報技術者試験 午前 問28

平成28年度春期の他の問題