プログラム言語 (全23問中15問目)
No.15
再入可能(リエントラント)プログラムに関する記述のうち,適切なものはどれか。
出典:平成22年秋期 問8
- 再入可能プログラムは,逐次再使用可能プログラムから呼び出すことはできない。
- 再入可能プログラムは,呼出し元ごとに確保された記憶領域に局所変数が割り当てられる。
- 実行途中で待ち状態が発生するプログラムは,再入可能プログラムではない。
- 逐次再使用可能なプログラムは,再入可能プログラムでもある。
- [出題歴]
- ソフトウェア開発技術者 H20春期 問36
分類
テクノロジ系 » アルゴリズムとプログラミング » プログラム言語
正解
イ
解説
再入可能(リエントラント)プログラムとは、複数のタスクから同時に呼び出されても、それぞれに正しい値を返すことができるプログラム構造のことを表します。
実行タスクごとに値の異なるデータ部分と、内容が共通である手続き部分にプログラムを分離し、データ部分をタスクごとに用意することで再入可能なプログラムが実現できます。
実行タスクごとに値の異なるデータ部分と、内容が共通である手続き部分にプログラムを分離し、データ部分をタスクごとに用意することで再入可能なプログラムが実現できます。
- 呼び出せない理由がありません。
- 正しい。
- 実行途中で待ち状態が発生するかどうかは、再入可能プログラムの特徴と関係がありません。
- 逐次再使用可能なプログラムとは、他のタスクが実行し終わったプログラムをメモリ上に再ロードしなくても、そのまま使用できる構造をもつプログラムです。具体的にはプログラムの内部で局所変数を初期化する処理が行われている必要があります。
逐次再使用可能プログラムでは他のタスクが、終了したあとに再使用可能になるものであり、実行中はプログラムが終了するまで他のプログラムは待たされることになります。したがって再入可能ではありません。