DBMSにおけるデッドロックの説明として,適切なものはどれか。
ア | 2相ロックにおいて,第1相目でロックを行ってから第2相目でロックを解除するまでの状態のこと |
イ | ある資源に対して専有ロックと専有ロックが競合し,片方のトランザクションが待ち状態になること |
ウ | あるトランザクションがアクセス中の資源に対して,他のトランザクションからアクセスできないようにすること |
エ | 複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること |
ア | × | 2相ロックとは、1つのプログラムがデータベースに対しロックのフェーズ(第1相)とアンロックのフェーズ(第2相)の2相の状態を持つことで、他のプログラムが同じデータベースにアクセスすることを防ぐ方式。 |
イ | × | 片方のトランザクションが待ち状態になっただけではデッドロックとは言わない。先に占有したトランザクションがロックを外せば、待ち状態のトランザクションが占有することになる。 |
ウ | × | 占有ロックに関する説明である。 |
エ | ○ | 複数のトランザクションが、互いに相手のロックしている資源を要求して待ち状態となり、実行できなくなること →デッドロックの説明である。 |