平成28年度 春期 応用情報技術者試験 午前 問6
テクノロジ/アルゴリズム流れ図に示す処理の動作の記述として,適切なものはどれか。ここで,二重線は並列処理の同期を表す。

出典:平成28年度 春期 応用情報技術者試験 午前 問6
- アABC又はACBを実行してデッドロックになる。
- イAB又はACを実行してデッドロックになる。
- ウAの後にBC又はCB,BC又はCB,…と繰り返して実行する。
- エAの後にBの無限ループ又はCの無限ループになる。
正解:ウ
解説
流れ図は,Aの実行後に二重線(同期バリア)を経てBとCが並列に開始され,それぞれの終了後に再び同期バリアで待ち合わせてからA以降の並列区間へ戻る構造になっています。したがって,AC後は毎回BとCの並列実行を繰り返す形になり,BC又はCBの実行順(並列なので順序不定)を繰り返します。
選択肢ごとの解説
- ア誤り。図の二重線は同期バリアであり,B・Cが順に実行された後は待ち合わせが行われるため,デッドロックは発生しません。
- イ誤り。BとCはいずれも実行され,どちらか一方だけで終わることはないため,AB又はACのみの実行という記述は図の構造と合いません。
- ウ正しい。Aの後,二重線の同期区間内でBとCが並列に実行され,同期を取りながら繰り返し実行される構造です。
- エ誤り。BとCはループの中で必ず両方とも実行されるため,一方だけの無限ループにはなりません。