令和2年度 10月 問72 並行更新による上書きと更新の喪失

問題

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

二つのPCが同じファイルのデータnを読み書きする処理
図の説明をテキストで確認

中央のファイルにデータnがあり、PC-AとPC-Bがそれぞれ読み書きする。

処理番号PC処理内容
①PC-Aデータnを読み込み,5を引く。
②PC-Bデータnを読み込み,7を足す。
③PC-A処理①の結果を,データnに書き込む。
④PC-B処理②の結果を,データnに書き込む。

5

10

12

17

先に解説を見る
正解エ

17

解説

この問題のポイント

同じデータを別々の処理が更新するときは、各処理が読み込んだ値・計算した値・書き込む順番を分けて追います。後の書込みが前の結果を上書きすると、片方の更新が失われることがあります。

条件に当てはめると

AとBは、どちらも更新前の10を読み込んでから計算しています。

①Aは10-5=5を計算します。

②Bは自分が読み込んだ10を使い、10+7=17を計算します。

③Aが5を書き込みます。

④その後、Bが17で上書きします。

最後の値は17です。

正解:エ

後の書込みが前の結果を上書きする
後の書込みが前の結果を上書きする

同じ分野の問題

関連する用語

編集・確認:kakoloop · 編集方針

公開日:

内容更新:

問題・解説の誤りを報告する

画像を拡大表示