ITパスポート 平成21年春期 問82
データDを更新する二つの処理A,Bが,①→③→②→④のタイミングで実行された場合,Dの値は幾らになるか。ここで,Dの初期値は2とする。

正解と解説を見る
正解:イ
①でAはD=2を読み3倍の6を保持します。③でBも更新前の2を読み、5を足した7を保持します。その後②でD=6、④でD=7と書きます。
最後の値は7です。BはAの書込み前に読んでいるため6+5=11にはなりません。同時処理で更新が失われる例で、排他制御の必要性が分かります。

正解:イ
①でAはD=2を読み3倍の6を保持します。③でBも更新前の2を読み、5を足した7を保持します。その後②でD=6、④でD=7と書きます。
最後の値は7です。BはAの書込み前に読んでいるため6+5=11にはなりません。同時処理で更新が失われる例で、排他制御の必要性が分かります。