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

出典:平成25年度 春期 応用情報技術者試験 午前 問8
- アABC又はACBを実行してデッドロックになる。
- イAB又はACを実行してデッドロックになる。
- ウAの後にBC又はCB,BC又はCB,…と繰り返して実行する。
- エAの後にBの無限ループ又はCの無限ループになる。
正解:ウ
解説
Aの実行後,二重線(同期バリア)でBとCの並列処理が開始され,両方が完了すると再び同期バリアで合流し,またB,Cが実行されるという流れを繰り返す構造です。デッドロックや無限ループを起こす要素はなく,Aの実行後にBとCの並列処理を繰り返し実行する動作になります。
選択肢ごとの解説
- ア誤り。二重線は同期(両方の処理が完了するのを待ち合わせる)を表しており,資源の奪い合いによるデッドロックが起きる構造ではありません。
- イ誤り。BとCは同期バリアの後で並列に実行されるだけであり,デッドロックを起こす排他制御などは示されていません。
- ウ正しい。Aの実行後,同期バリアを介してBとCが並列に実行され,完了後再び同期して同じ流れを繰り返します。
- エ誤り。図の構造はBとCの並列処理を同期しながら繰り返すものであり,どちらかが無限ループになる要素は示されていません。