基本情報技術者試験「排他制御」の問題
あるデータに共有ロックが掛かっているとき、別のトランザクションがそのデータに対して新たに獲得できるロックはどれか。
ア共有ロックは獲得できるが専有ロックは待たされる
イ共有ロックも専有ロックも直ちに獲得できる
ウいかなるロックも一切獲得できず待機する
エ専有ロックのみ獲得でき共有ロックは拒否される
正解
ア.共有ロックは獲得できるが専有ロックは待たされる
共有ロック(読取り用)は他の共有ロックと両立し複数同時に保持できるが、専有ロック(更新用)は他のどのロックとも両立しない。したがって共有ロック中は共有ロックは可、専有ロックは待機となり正しい。
?選択肢ごとの解説
ア ○共有ロック(読取り用)は他の共有ロックと両立し複数同時に保持できるが、専有ロック(更新用)は他のどのロックとも両立しない。したがって共有ロック中は共有ロックは可、専有ロックは待機となり正しい。
イ ×専有ロックは既存の共有ロックと両立しないため直ちには獲得できず、両方獲得できるとする点が誤りである。
ウ ×共有ロック同士は両立するので新たな共有ロックは獲得できる。一切獲得できないとするのは誤りである。
エ ×両立関係が逆で、共有ロック中に獲得できるのは共有ロックであり専有ロックの方が待たされる。
✎くわしく
ロックの両立性は『共有と共有=両立、共有と専有=非両立、専有と専有=非両立』。読取りは複数同時に許し、更新は単独で行わせることで一貫性を保つ。両立性表を正確に覚えることが排他制御理解の核心である。
✓本番での押さえどころ
試験のコツ
『読み(共有)は重ねられる、書き(専有)は独り占め』と覚え、相手が専有なら何も掛けられないと即断する。
覚え方
共有=みんなで読む閲覧室、専有=貸切。閲覧室には何人も入れるが貸切中は誰も入れない、とイメージする。
よくある誤り
共有と専有の両立関係を逆に覚える誤りが多い。読取り(共有)は同居可、書込み(専有)は独占と整理する。
データベースの他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0055