テクノロジ系出題頻度 3/3
デッドロック
でっどろっく
定義
複数トランザクションが互いのロック解放を待ち合い処理停止する状態。
詳細解説
トランザクションAがリソース1をロックしリソース2を待ち、トランザクションBがリソース2をロックしリソース1を待つ循環依存状態。OS・DB両方で発生しうる。検出方法は待ちグラフの循環検出、防止方法はロック順序統一、タイムアウト、ロックレベル統一等。多くのRDBMSは検出時に犠牲トランザクション(コストの低い方)を自動的にロールバックして解消する。アプリ側でリトライ処理を実装することが推奨される。
「デッドロック」が出る問題
関連用語
よくある質問
Q. デッドロックとは何ですか?
A. 複数トランザクションが互いのロック解放を待ち合い処理停止する状態。
Q. 応用情報技術者試験での位置づけは?
A. テクノロジ系の重要用語です。出題頻度は 3/3 (★3)。 頻出のため確実に押さえておきましょう。