共用ロックと排他ロックの並行実行
出典: 平成30年度 秋期 応用情報技術者試験 午前 問30 (IPA)
データベースシステムにおいて,二つのプログラムが同一データへのアクセス要求を行うとき,後続プログラムのアクセス要求に対する並行実行の可否の組合せのうち,適切なものはどれか。ここで,表中の ○ は二つのプログラムが並行して実行されることを表し,× は先行プログラムの実行終了まで後続プログラムは待たされることを表す。
- ア

- イ

- ウ

- エ

正解と解説を見る
正解: エ
- ア: 先行が排他のときに後続が共用で並行実行できたり、先行が共用のときに後続が排他で並行実行できたりすると、読んでいる途中で書き換えられてしまいます。
- イ: 先行が共用のとき、後続が排他でも並行実行できることになっています。後続の書込みは待たせる必要があります。
- ウ: 先行が排他のとき、後続が共用でも並行実行できることになっています。書込みの途中のデータを読んでしまいます。
- エ: 両方が共用のときだけ並行実行でき、どちらかが排他なら待たせるので正しい組合せです。
ポイント
- 共用 (共有) モード: 読むためのアクセスで、他のプログラムも 共用モードなら同時に アクセスできます。
- 排他 (専有) モード: 書くためのアクセスで、他のプログラムは共用でも排他でも 待たされます。
- 並行実行できる (○) のは、先行も後続も 共用 のときだけです。