情報処理安全確保支援士試験 令和4年度秋期 午前Ⅰ 問6「二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するお…」の正解と解説です。情報処理安全確保支援士試験の「デッドロック」分野の過去問で、各選択肢の正誤も解説付きで確認できます。
イ. 資源獲得の順序を両方のタスクで同じにする。
デッドロックは、複数タスクが複数資源を相互に待ち合い、循環的な待機(環状待ち)が生じて発生する。発生条件の一つである循環待ちを断ち切るには、全タスクが資源を獲得する順序を統一すればよい。同順だと一方が先に両資源を取り、他方は待つだけで循環が生まれない。よってイが正解。実務でも複数ロックを扱う際は獲得順序を全コードで一貫させるのがデッドロック回避の定石。