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

- ア5
- イ10
- ウ12
- エ17
正解と解説を見る
正解
エ 17
この問題は排他制御を行わずに2台のPCから同一データnを並行して更新した場合の結果を問うものであり、更新処理が行われる順序によっては、あるPCが読み込んだ古い値を基に計算した結果で、もう一方の更新結果を上書きしてしまう「更新の消失(ロストアップデート)」が起こり得る。示された①〜④の処理順序どおりに実際に値を追跡すると、初期値10に対する各処理の反映結果として最終的にnは17になるため、正解はエである。ア・イ・ウは、いずれかの処理の反映が正しく行われなかった、あるいは処理順序を誤って計算した場合に得られる誤った値である。