平成23年秋目次
前の問題
次の問題
問34
DBMSにおけるデッドロックの説明として,適切なものはどれか。
ア 2相ロックにおいて,第1相目でロックを行ってから第2相目でロックを解除するまでの状態のこと
イ ある資源に対して専有ロックと専有ロックが競合し,片方のトランザクションが待ち状態になること
ウ あるトランザクションがアクセス中の資源に対して,他のトランザクションからアクセスできないようにすること
エ 複数のトランザクションが,互いに相手のロックしている資源を要求して待ち状態となり,実行できなくなること
解説
Aのトランザクションがaを排他的にロックし、Bのトランザクションがbを排他的にロックしているとする。
この時、Aがbを使用しようとすると、Bが終わるまで、待たされる。
ところが、同時にBがaを使おうとすると、BもAが終わるまで待たされることになる。
このような、両方で待ち続ける状態をデッドロックという。
ア 2相ロックではトランザクション開始時にロックをかけるすべての対象に対してまとめてロックしていき(第1相)、終了時に今度はまとめて、ロックを解除していく(第2相)。
そのため、ロックを行ってから、解除するまでの状態とは、ただ、いくつかの対象がロックされているだけの状態であり、デッドロックではない。
イ 片方が待ち状態になっても、もう片方が終われば、処理をすることができる。これは、ただ一時的にロックがかかった状態。
ウ これが、ロックをかけるということ。
エ 正解
答
エ