過去問解きまくり研究所 ホーム

令和3年度 春期 午前Ⅱ 問21

データベース

デッドロックに関する問題

複数のバッチ処理を並行して動かすとき,デッドロックの発生をできるだけ回避したい。バッチ処理の設計ガイドラインのうち,適切なものはどれか。

答えと解説を見る

✓ これが正解エ複数レコードを更新するときにロックを掛ける順番を決めておき,全てのバッチ処理がこれに従って処理するように設計する。

解説

ロックを掛ける順番を全処理でそろえると、循環した待ちが起きません。

デッドロックは、複数の処理が互いに相手の持つロックの解放を待ち合い、どれも先へ進めなくなる状態です。たとえば、ある処理がレコードAからBの順に、別の処理がBからAの順にロックを掛けると、互いに待ち合う可能性があります。すべてのバッチ処理が同じ順番でロックを掛けるように決めておけば、このような循環した待ちが生じません。待ちの輪ができない仕組みかどうかが判断の軸です。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:令和3年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問21

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)