過去問ドリル

平成24年度 秋期 ITパスポート試験 問80

テクノロジ/データベース

ある在庫管理システムは,複数の入力を同時並行して処理し,在庫数を更新しているが,排他制御は行っていない。ある時点での在庫数が100であったとき,入力された二つの入力 A,B に応じて,図に示す処理が①→②→③→④の順序で実行された場合,処理④が終了した時点の在庫数は幾つになるか。

平成24年度 秋期 ITパスポート試験 問80の図

出典:平成24年度 秋期 ITパスポート試験 問80

正解:エ

解説

排他制御がないため,二つの処理が同じ在庫数を同時に読み込んでしまいます。①で入力 A が在庫数 100 を読み込み,②で入力 B も同じ 100 を読み込みます。③で B が 100-30=70 を書き込み,最後の④で A が 100+50=150 を書き込みます。後から書き込んだ④が③の結果を上書きするため,最終的な在庫数は 150 です(正しくは 100+50-30=120 のはずで,更新が一つ失われています)。

下線の用語は 用語集 で意味を確認できます。

選択肢ごとの解説

  • ア誤り。70 は③の書込みの結果で,その後④で上書きされます。
  • イ誤り。100 は更新前の在庫数であり,④の書込みで変わります。
  • ウ誤り。120 は排他制御が正しく行われた場合の結果です。この問題では排他制御がなく,更新が失われます。
  • エ正しい。④で A が読み込み済みの 100 に 50 を加えた 150 を書き込み,③の結果を上書きするため,150 になります。
ITパスポートの過去問を演習モードで解く