ウカマル応用情報技術者ログイン

平成28年度 春期 応用情報技術者 問28

テクノロジ系

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

なお,ロックは処理開始時にかけ,トランザクション終了時に解除する。

トランザクションA [処理A1]→[処理A2]→[COMMIT] トランザクションB     [処理B1]→[処理B2]→[COMMIT] ――――――――――――――――→時刻

選択肢
正解と解説

正解 イ

AがSを、BがTを持ったまま、互いに相手の資源を要求すると、両方が待ち続けてデッドロックになります。

デッドロックは、複数のトランザクションが互いに相手のロックの解除を待ち、どちらも先に進めなくなる状態です。イでは、A1がSをロックし、B1がTをロックします。次にA2がTを要求しますが、Bが持っているのでAは待ちます。さらにB2がSを要求しますが、Aが持っているのでBも待ちます。ロックはトランザクション終了時まで解除されないので、AとBは互いを待ち続けます。

ア:B1がSを要求した時点でBが待ちになります。その間にAはA2でTを得てCOMMITし、ロックを解除するので、Bはその後に進めます。

ウ:A2が要求するTはA自身が既に持っているので、Aは待たずにCOMMITできます。その後、B2はSを問題なく使えます。

エ:B1がTを要求した時点でBが待ちになります。AはA2でSを得てCOMMITし、ロックを解除するので、Bはその後に進めます。

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

全年度から出題。10問で実力を判定します。登録不要。

出典:平成28年度 春期 応用情報技術者試験 問28(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方