ある在庫管理システムは,複数の入力を同時並行して処理し,在庫数を更新しているが,排他制御は行っていない。ある時点での在庫数が100であったとき,入力された二つの入力A,Bに応じて,図に示す処理が①→②→③→④の順序で実行された場合,処理④が終了した時点の在庫数はいくつになるか。
解答・解説を見る
解答:エ
- 入力Aの処理が"在庫数"(100)を読み込み、50を加えた150という値を結果として保持する。
→この時点では、"在庫数"への書き込みが行われていないので、"在庫数"は100のままである。
- 入力Bの処理が"在庫数"(100)を読み込み、30を引いた70という値を結果として保持する。
- 入力Bの処理が結果(70)を"在庫数"に書き込む。
→在庫数は70に更新される。
- 入力Aの処理が結果(150)を"在庫数"に書き込む。
→在庫数は150に更新される。
したがって、エが正解である。