トランザクション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 |
答え イ
【解説】
デッドロックが発生するのは2つのトランザクションで2つの資源を占有ロックするとき、異なる順番で占有ロックを行うと発生するので
A1 | B1 | A2 | B2 | |
イ | S | T | T | S |
【キーワード】
・ロック
・デッドロック