正答1
解説
正解は1です。
ロックには、読取りのための共有ロックと、更新のための専有ロック(排他ロック)があります。
共有ロックどうしは同時に獲得できますが、専有ロックはほかのどのロックとも同時には獲得できません。
【選択肢別解説】
1:○ 共有ロックは読取り用なので、複数のトランザクションが同時に読んでもデータは矛盾しません。
共有ロック獲得済の資源にも、新たな共有ロックを認めます。
2:× 共有ロック獲得済の資源に専有ロックを認めると、読取り中のデータが更新されて矛盾が生じます。
専有ロックは共有ロックが解放されるまで待たされます。
3:× 専有ロック獲得済の資源は更新中なので、ほかのトランザクションに読取りを認めると、確定していないデータを読んでしまいます。
共有ロックも待たされます。
4:× 専有ロック獲得済の資源に別の専有ロックを認めると、二つのトランザクションが同時に更新して矛盾が生じます。
後から来た専有ロックは待たされます。
【ポイント】
同時に獲得できるのは共有ロックと共有ロックの組合せだけです。
専有ロックが絡む組合せは、どれも待ちになります。