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

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