情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和3年度春期 午前Ⅱ21: 複数のバッチ処理を並行して動かすとき,デッドロックの発生をできるだけ回避したい。バッチ処理の設計ガイドラインのうち,適切なものはどれか。

情報処理安全確保支援士試験 令和3年度春期 午前Ⅱ
Q 2121 / 25
複数のバッチ処理を並行して動かすとき,デッドロックの発生をできるだけ回避したい。バッチ処理の設計ガイドラインのうち,適切なものはどれか。
この問の正解率:100.00%(1件)

解説

情報処理安全確保支援士試験 令和3年度春期 午前Ⅱ 問21「複数のバッチ処理を並行して動かすとき,デッドロックの発生をできるだけ回避したい。…」の正解と解説です。情報処理安全確保支援士試験の「デッドロック」分野の過去問で、これまでの受験者の正答率は約100%です。

正解

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

正答率 100.0%(1人中 1人が正解)

問題の解説

デッドロックは、複数のトランザクションが互いに相手の保持するロックを待ち合って進めなくなる状態。発生回避の定石は、複数レコードをロックする順序をあらかじめ統一し、全処理が同じ順番でロックを取得すること。これにより循環待ちが起きなくなる。よってエが正解。実務では並行バッチやトランザクション設計で、ロック獲得順序の統一が基本的な予防策となる。

選択肢ごとの解説

  • 参照にも専有ロックを掛けると競合が増えデッドロックを助長しかねず、回避策として不適切で誤り。
  • 大量データを単一の長大トランザクションにするとロック保持が長引き競合が増えるため、回避に逆行し誤り。
  • 再試行でロックを取り直す方式は循環待ちを根本回避できず、デッドロックを十分防げないため不適切。
  • ロック獲得順序を統一し全処理が従うことで循環待ちを防げる点が回避の定石であり、これが正解。

情報処理安全確保支援士試験 令和3年度春期 午前Ⅱ の過去問一覧に戻る・問21

情報処理安全確保支援士試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

情報処理安全確保支援士試験 合格.dev を App Store でダウンロード