本文へスキップ
Certia
未分類
秋期

ITパスポート 2013年 秋期 問67

67 / 100

あるトランザクション処理は, 1共有領域から値を読み取り, 2読み取った値に 数値を加算し, 3結果を共有領域に書き込む手順からなっている。 複数のトランザ クションを並列に双盾なく処理するためには, トランザクション処理のどの時点で 共有領域をロックし, どの時点でロックを解除するのが適切か。 時間 時点 (a) 1 共有領域から値を読み取り 時点 (b) @ 読み取った値に数値を加算 時点 (c) 3 結果を共有領域に書き込む 時点 (9) 共有領域のロック 共有領域のロック解除

問題の図

正解と解説

表示する
正解 イ

排他制御では、共有領域を読み取る直前(時点a)にロックし、書き込みが完了した直後(結果を書き込んだ後)にロック解除します。こうすることで読取り→加算→書込みの一連の処理中、他のトランザクションが割り込んで矛盾(ロストアップデート)を起こすのを防げます。読取り前にロックし書込み後に解除する組合せが正解です。

AI に聞く

AI のボタンを押すと、問題文と解答を入れたプロンプトをコピーしてから各サービスを開きます。入力欄に自動で入らない場合は貼り付けてください。