正答4
解説
正解は4です。
DBMS(DataBase Management System)の排他制御で起こる問題を区別する問題です。
【選択肢別解説】
1:× 2相ロックは、ロックを獲得する第1相と、ロックを解除する第2相に分けて排他制御を行う方式です。
その期間を指す言葉はデッドロックではありません。
2相ロックは直列化可能性を保証するための方式です。
2:× 専有ロック同士が競合して一方が待たされるのは、通常のロック待ちです。
もう一方がロックを解除すれば処理は進むので、デッドロックではありません。
3:× 他のトランザクションからアクセスできないようにすることは、ロックによる排他制御そのものの説明です。
4:○ 複数のトランザクションが、互いに相手がロックしている資源の解放を待ち合うと、どちらも先へ進めなくなります。
この状態がデッドロックです。
【ポイント】
デッドロックは、資源をロックする順序を全トランザクションで統一することで防げます。
発生した場合は、どちらかのトランザクションを強制的にロールバックして解消します。