平成22年春期試験問題 問82

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

  • 4
  • 5
  • 14
  • 15
正解 ア問題へ
テクノロジ系
データベース
トランザクション処理
解説

①でPC-Aは初期値5を読み10を加えて15を保持します。②でPC-Bも、まだ更新前の5を読み1を引いて4を保持します。③でAが15を書き込んだ後、④でBが4を書き込むので最終値は4です。

二つの計算を順番に共有データへ適用した結果の14にはなりません。Bが古い値を基に計算した結果でAの更新を上書きしたためです。この更新の消失を防ぐには、ロック等で読み出しから書込みまでを適切に制御します。

▲
Pagetop