テクノロジ系出題頻度 3/3
デッドロック
でっどろっく
定義
複数トランザクションが互いのロック解放を待ち合い処理停止する状態。
詳細解説
トランザクションAがリソース1をロックしリソース2を待ち、トランザクションBがリソース2をロックしリソース1を待つ循環依存状態。OS・DB両方で発生しうる。検出方法は待ちグラフの循環検出、防止方法はロック順序統一、タイムアウト、ロックレベル統一等。多くのRDBMSは検出時に犠牲トランザクション(コストの低い方)を自動的にロールバックして解消する。アプリ側でリトライ処理を実装することが推奨される。
「デッドロック」が出る問題に挑戦
読んだ内容は“思い出す”ほど記憶に残ります。解答・解説つき・基本無料で確認できます。
クロック周波数2GHzのCPUで、1命令あたり平均CPIが4のとき、1秒間に実行できる命令数(MIPS)はおおよそいくらか。
デッドロックの発生条件として、正しくないものはどれか。
データベースのデッドロックが発生したときの対処として、適切なものはどれか。
関連用語
よくある質問
Q. デッドロックとは何ですか?
A. 複数トランザクションが互いのロック解放を待ち合い処理停止する状態。
Q. 応用情報技術者試験での位置づけは?
A. テクノロジ系の重要用語です。出題頻度は 3/3 (★3)。 頻出のため確実に押さえておきましょう。