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

トランザクションA(処理A1→処理A2の順に実行する)とトランザクションB(処理B1→処理B2の順に実行する)が,データベースの資源SとTに対し,次のように処理A1→処理B1→処理A2→処理B2の順で専有ロックを要求する場合,デッドロックが発生する資源の組合せはどれか。 なお,ロックは処理開始時にかけ,トランザクション終了時に解除する。 図に示すトランザクションAとBの実行タイムライン
イ. A1:S,B1:T,A2:T,B2:S
デッドロックとは、2つのトランザクションが互いに相手の保持する資源のロック解除を待ち合い、どちらも先へ進めなくなる現象である。すべて専有ロックで、かつロックは終了時まで解除されないため、AとBが資源SとTを“互いに逆の順序”で要求し合うときにデッドロックが成立する。選択肢イは、A1でAがSを、B1でBをTをロックして保持したまま、A2でAがB保持のTを、B2でBがA保持のSを要求するため、両者が相手を待ち合って動けなくなる。
応用情報技術者試験 平成28年度春期 午前 の過去問一覧へ戻る・問28