本文へスキップ

テクノロジ系 / データベース

デッドロック

デッドロックは、複数の処理が互いに相手の持つ資源解放を待ち、処理が進まなくなる状態です。

もう少し詳しく

データベースでは、トランザクションAが表Xをロックしたまま表Yを待ち、トランザクションBが表Yをロックしたまま表Xを待つとデッドロックが起こります。DBMSは片方をロールバックして解消することがあります。

試験での見方

黒猫の闇の刻印

デッドロックは「互いに待ち合って進まない」状態です。単なる処理遅延や排他制御そのものではありません。ロック順序の統一などが対策になります。

A処理が顧客表を更新後に注文表を待ち、B処理が注文表を更新後に顧客表を待つと、双方が待ち続けて処理が止まります。

分類

テクノロジ系 / 技術要素 / データベース

小分類:トランザクション処理

関連トピック:同時実行制御(排他制御)

情報の根拠

IPA FEシラバス Ver.9.2 の用語例をもとに、試験対策向けに独自解説しています。

関連用語

データベースの用語一覧へ