スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.4557
データベースやファイルを複数人で同時に利用するシステムにおいて、トランザクションAがデータXを占有したままデータYのロックを要求し、同時にトランザクションBがデータYを占有したままデータXのロックを要求したため、お互いの処理が相手の解放を待ち続けてしまい、処理が先に進まなくなる現象を何というか。

【正解の解説】

デッドロック

狭い一本道で向こうから来た人と自分が「お先にどうぞ」「いや、あなたからどうぞ」と譲り合い、お互いに一歩も動けなくなって立ち往生してしまう状態にそっくりです。コンピュータの世界でも同じように、相手が持っている鍵を欲しがるあまり、誰も仕事を進められなくなる不毛な膠着状態を指しています。

スポンサーリンク

【その他の選択肢の解説】

ロールバック

デッドロックが「膠着して動けなくなる状態」そのものを指すのに対し、ロールバックは「失敗した処理をなかったことにやり直す仕組み」を指します。どちらもデータベースの整合性を守るための用語ですが、意味やシチュエーションが全く異なるので試験ではしっかり区別して覚える必要があります。

スループット

デッドロックが処理の「停止・膠着」というトラブル現象であるのに対し、スループットは「どれだけの速さや量で処理をこなせているか」という効率や能力を表す数値です。意味がまったく反対の概念ですので、ITパスポートの選択肢で紛らわしいワナとしてよく登場するため注意が必要です。

ボトルネック

ボトルネックは、細い瓶の首のように、システム全体の中で一番非効率で足を引っ張っている部分を指します。お互いに待ちぼうけを食うデッドロックとは現象の本質が異なりますが、どちらも「システムがうまく動かない原因」として混同しやすいので、言葉の定義を正しく押さえておくことが大切です。