トランザクション処理(全26問中5問目)
No.5解説へ
2台のPCから一つのファイルを並行して更新した。ファイル中のデータnに対する処理が①~④の順に行われたとき,データnは最後にどの値になるか。ここで,データnの初期値は10であった。
出典:令和2年秋期 問72
- 5
- 10
- 12
- 17
正解 エ問題へ
広告
解説
ファイル内のデータnの値の変化に注目しながら①~④の処理を順番に見ていきましょう。
複数のクライアントが同じデータを更新しようとするときは、排他制御によって更新の順序を制御しないと、この例のように更新処理の消失現象が起こるおそれがあります。
- ①PC-Aがデータnを読み込み、5を引く
- PC-Aは「10-5=5」を保持する(注:データnが更新されるわけではありません)
- ②PC-Bがデータnを読み込み、7を足す
- PC-Bは「10+7=17」を保持する(注:データnが更新されるわけではありません)
- ③PC-Aが①の結果"5"を、データnに書き込む
- データnの値は5になる
- ④PC-Bが②の結果"17"を、データnに書き込む
- データnの値は17になる
複数のクライアントが同じデータを更新しようとするときは、排他制御によって更新の順序を制御しないと、この例のように更新処理の消失現象が起こるおそれがあります。
広告