正答2
解説
正解は2です。
データベースの排他制御で使う、共有ロックと専有ロックの両立性を問う問題です。
共有ロックは、データを読み取るときにかけるロックです。
専有ロック(排他ロック)は、データを更新するときにかけるロックです。
【選択肢別解説】
1:× T_1が共有ロックを獲得している資源に、T_2は専有ロックをかけられません。
専有ロックを許すと、読取り中のデータが書き換えられてしまうからです。
2:○ 共有ロック同士は両立するので、T_2も共有ロックを獲得できます。
一方、共有ロック中の資源には専有ロックを獲得できません。
3:× T_1が専有ロックを獲得している資源には、T_2は専有ロックも共有ロックも獲得できません。
どちらも獲得できるというのは誤りです。
4:× 専有ロックは他のどのロックとも両立しません。
T_2が専有ロックを獲得できるというのは誤りです。
【ポイント】
両立するのは「共有ロックと共有ロック」の組合せだけです。
読取り同士は同時に行っても問題がなく、更新が絡むと待たせる必要がある、と理由とセットで覚えましょう。