並行更新

正解は エ (17)です。 PC-AとPC-Bは、どちらも 更新前の同じ値(10)を読み込んでから 計算しています。そのため、後から書き込んだ方の値で、先に書き込んだ値が上書きされてしまいます。 ① PC-Aがデータnを読み込む(10) ② PC-Bがデータnを読み込む(10) ③ PC-Aが 10−5=5 を書き込む(ファイルは5) ④ PC-Bが 10+7=17 を書き込む(ファイルは17) 本来の結果は 10−5+7=12(ウ)であるべきですが、PC-Aの更新が失われて 17 になります。これを防ぐために、更新中のデータを他から更新できないようにする 排他制御(ロック) が使われます。

2台のPCから一つのファイルを並行して更新した。ファイル中のデータnに対する処理が①~④の順に行われたとき,データnは最後にどの値になるか。ここで,データnの初期値は10であった。

q72-figure-1
出典令和2年度 ITパスポート試験 公開問題 問72
ア
5
イ
10
ウ
12
エ
17