平成28年度 高度共通 午前I(PM試験) 問3
流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を表す。

- ア ABC又はACBを実行してデッドロックになる。
- イ AB又はACを実行してデッドロックになる。
- ウ Aの後にBC又はCB,BC又はCB,…と繰り返して実行する。
- エ Aの後にBの無限ループ又はCの無限ループになる。
解答・解説を見る
正解:ウ
AI解説
流れ図の二重線は並列処理の同期(フォークとジョイン)を表す。Aの実行後に処理が分岐してBとCが並列に実行され、同期点で両方の完了を待ち合わせてから、再び分岐点へ戻って繰り返す構造である。並列実行のためBとCの完了順序は不定であり、BC又はCBの順で繰り返し実行されるウが正しい。 ア: 同期点で待ち合わせが成立するためデッドロックにはならない。互いに相手の資源を待ち続ける状況は発生しない。 イ: BとCは択一ではなく並列に両方実行される。また待ち合わせが成立するのでデッドロックにもならない。 ウ: 正解。Aの後、BとCが並列実行され同期で待ち合わせ、これを繰り返す。実行順はBC又はCBのどちらにもなり得る。 エ: 同期によりBとCの両方の完了を待ってから次の繰返しに進むため、片方だけの無限ループにはならない。 💡 二重線=同期バー(フォーク/ジョイン)。「分岐した処理は全部実行される」「合流点で全員そろうまで待つ」の2点を押さえれば、デッドロックや択一実行を主張する選択肢を消去できる。
出典:平成28年度 秋期 プロジェクトマネージャ試験 午前I 問3 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。