データDを更新する二つの処理A、Bが、①→③→②→④のタイミングで実行された場合、Dの値は幾らになるか。ここで、Dの初期値は2とする。
排他制御がないと後の書込みが先の更新を消してしまう

選択肢
- ア6
- イ7
- ウ11
- エ21
正解と解説
正解:イ 7
①で処理AがD=2を読み、3倍の6を計算する。次に③で処理Bも更新前のD=2を読み、5を加えて7を得る。②で処理Aが6を書き込むが、④で処理Bが自分の計算結果7を上書きするため、最終的なDは7となる。これは排他制御をしないと先の更新が失われる「更新の消失」の典型例である。
選択肢ごとの解説
- ア6は処理Aが書き込んだ値だが、その後④で上書きされる。
- イ処理Bが読んだ2に5を加えた値が最後に書き込まれるため、これが正解。
- ウ処理Aの結果6に5を加えた場合の値で、Bが読んだのは更新前の2なので該当しない。
- エ2に5を加えてから3倍した場合の値で、実行順と合わない。
同じ分野の他の問題
- DBMSのトランザクションに関する記述として、適切なものはどれか。2025年度 秋期 問61
- トランザクション処理に関する記述のうち、適切なものはどれか。2024年度 秋期 問74
- トランザクション処理におけるコミットの説明として、適切なものはどれか。2023年度 秋期 問66
- トランザクション処理のACID特性に関する記述として,適切なものはどれか。2022年度 秋期 問77
- 金融システムの口座振替では、振替元の口座からの出金処理と振替先の口座への入金処理について、両方の処理が実行されるか、両方…2021年度 秋期 問62
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。