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