平成22年春期試験問題 問82
問82
解説へ
note_alt
calculate
2台のPCから一つのファイルを並行して更新した。ファイル中の同一のデータ(データ1)に対する処理が①~④の順で行われたとき,データ1はどの値になるか。ここで,データ1の初期値は5であった。

- 4
- 5
- 14
- 15
正解 ア問題へ
広告
解説
①でPC-Aは初期値5を読み10を加えて15を保持します。②でPC-Bも、まだ更新前の5を読み1を引いて4を保持します。③でAが15を書き込んだ後、④でBが4を書き込むので最終値は4です。
二つの計算を順番に共有データへ適用した結果の14にはなりません。Bが古い値を基に計算した結果でAの更新を上書きしたためです。この更新の消失を防ぐには、ロック等で読み出しから書込みまでを適切に制御します。
広告