令和2年度10月 ITパスポート 問72 解説
2台のPCから一つのファイルを並行して更新した。ファイル中のデータnに対する処理が①~④の順に行われたとき,データnは最後にどの値になるか。ここで,データnの初期値は10であった。

- ア5
- イ10
- ウ12
- エ17
答えを見る
正解 エ17
要点排他制御なしの同時更新では後から書いた値が残る(更新の喪失)
解説
処理を順に追うと次のとおりです。
- ①PC-Aがn=10を読み、10 − 5 = 5を計算。
- ②PC-Bもn=10を読み、10 + 7 = 17を計算。
- ③PC-Aが5を書き込み、n=5。
- ④PC-Bが17を書き込み、n=17。
最後の値は17なので、エが正解です。PC-Aの更新が上書きされて失われており、これを防ぐにはロックによる排他制御が必要です。
- ア:5はPC-Aの結果で、④で上書きされるので誤り。
- イ:10は初期値なので誤り。
- ウ:12は両方の処理が正しく反映された場合(10−5+7)の値なので誤り。