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

平成31年度 春期 午前 問18

ソフトウェア

このデッドロックの発生を防ぐ方法

二つのタスクが共用する二つの資源を排他的に使用するとき,デッドロックが発生するおそれがある。このデッドロックの発生を防ぐ方法はどれか。

答えと解説を見る

✓ これが正解イ資源獲得の順序を両方のタスクで同じにする。

解説

資源を取りに行く順序を、両方のタスクで揃えます。

デッドロックは、両方のタスクが自分のすでに握った資源を離さず、相手が握っているもう一方の資源を待ち続ける状態で成立します。原因の一つは、資源を取りに行く順序が両者で食い違い、互いに相手の待つ資源をすでに握ってしまう組み合わせが生じることです。順序を全てのタスクで統一しておくと、先に取りに行った側が両方を握り、後から取りに行く側は最初の資源の段階で待たされます。待たされた側は自分がまだ何も握っていないため、相手の解放を待つだけで済み、循環した待ちの関係が作られません。設問の四つの中で、この循環そのものを断つ働きを持つのは、順序をそろえる方法だけです。

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

出典:平成31年度 春期 応用情報技術者試験 午前 問18

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