ITパスポート平成22年春期 問82

問82

2台のPCから一つのファイルを並行して更新した。ファイル中の同一のデータ(データ1)に対する処理が①〜④の順で行われたとき,データ1はどの値になるか。ここで,データ1の初期値は5であった。
82.gif/image-size:376×103

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

ファイル内の(データ1)の値の変化に注目しながら①〜④の処理を順番に見ていきましょう。
① PC-Aがデータ1を読み込み、10を足す
PC-Aは「5+10=15」を保持する(注:データ1が更新されるわけではありません)
② PC-Bがデータ1を読み込み、1を引く
PC-Bは「5−1=4」を保持する(注:データ1が更新されるわけではありません)
③ PC-Aが①の結果(15)を、データ1に書き込む
データ1の値は15になる
④ PC-Bが②の結果(4)を、データ1に書き込む
データ1の値は4になる
以上の処理手順により、データ1の値は「4」になることがわかります。

複数のクライアントが同じデータを更新しようとするときは、排他制御によって更新の順序を制御しないと、この例のように更新処理の消失現象が起こるおそれがあります。
© 2009-2021 ITパスポート試験ドットコム All Rights Reserved.

Pagetop