シカクマナボ.ITパスポート

ITパスポート 平成22年春期 問82

出典:IPA「ITパスポート試験」平成22年春期 問82

2台のPCから一つのファイルを並行して更新した。ファイル中の同一のデータ(データ1)に対する処理が①~④の順で行われたとき,データ1はどの値になるか。ここで,データ1の初期値は5であった。
82.png/image-size:376×103

正解と解説を見る

正解:ア

①でPC-Aは初期値5を読み10を加えて15を保持します。②でPC-Bも、まだ更新前の5を読み1を引いて4を保持します。③でAが15を書き込んだ後、④でBが4を書き込むので最終値は4です。

二つの計算を順番に共有データへ適用した結果の14にはなりません。Bが古い値を基に計算した結果でAの更新を上書きしたためです。この更新の消失を防ぐには、ロック等で読み出しから書込みまでを適切に制御します。

条件を選んで演習する