最終更新日:2026年9月23日
fe fe-technology algorithm programming
まず結論
再入可能(リエントラント:Reentrant)とは、同じプログラムモジュールを複数のタスクから同時・並行的に呼び出しても、それぞれ正しく処理できる性質です。
FE試験では、まず次のキーワードで切り分けます。
同時に使える
→ 再入可能
繰り返し使える
→ 再使用可能
自分自身を呼ぶ
→ 再帰可能
別の場所に配置できる
→ 再配置可能
特に、問題文に「複数タスク」「同時」「並行」があれば、再入可能を第一候補にします。
直感的な説明
一つのモジュールを、二つのタスクが利用する場面を考えます。
タスクA ─┐
├→ 同じモジュール
タスクB ─┘
タスクAの処理が終わる前にタスクBから同じモジュールが呼び出されても、それぞれの処理結果が壊れないなら再入可能です。
ポイントは、タスクごとの処理状態を混ぜないことです。
例えば、複数の呼出しが同じ作業用データを勝手に上書きすると、別のタスクの計算途中の値を壊してしまいます。
Aの処理中
↓
Bから同じモジュールを呼び出す
↓
AとBの処理状態が混ざらない
↓
それぞれ正しい結果
→ 再入可能
定義・仕組み
再入可能とは
再入可能なモジュールは、あるタスクが実行中でも、別のタスクから再び呼び出すことができます。
ここでの「再入」は、実行途中のモジュールへ別の実行が入ってこられるというイメージです。
そのため、呼出しごとに変わるデータを適切に分離することが重要です。
「再使用可能」とは意味が違う
名前は似ていますが、判断するポイントが違います。
再入可能
→ 同時・並行して使えるか
再使用可能
→ 一度ロードしたプログラムを繰り返し使えるか
「何度も使える」だけでは、同時に使えるとは限りません。
「再帰可能」とも意味が違う
再帰可能は、プログラムが自分自身を呼び出せる性質です。
再入可能
→ 複数の実行が同じモジュールに入る
再帰可能
→ モジュールが自分自身を呼び出す
再帰関数の詳しい仕組みは、再帰関数とは?終了条件と効率的な展開方法で整理しています。
「再配置可能」はメモリ上の位置の話
再配置可能(Relocatable)は、プログラムを主記憶上の異なる位置へ配置して実行できる性質です。
同時実行ではなく、どこに配置できるかを見る用語です。
科目Aでどう出る?
科目Aでは、似た名称の性質を説明文から選ばせる形が典型です。
| 問題文のキーワード | 選ぶ用語 |
|---|---|
| 複数タスクから同時・並行して実行 | 再入可能 |
| ロード後に繰り返し利用 | 再使用可能 |
| 自分自身を呼び出す | 再帰可能 |
| 主記憶上の異なる位置へ配置 | 再配置可能 |
「同時・並行」が決め手
次のような説明なら、再入可能です。
複数のタスク
+
同時・並行的に実行可能
→ 再入可能
「再」という漢字だけで判断せず、何を再びできるのかを確認します。
静的・動的再配置可能に惑わされない
選択肢に「静的再配置可能」「動的再配置可能」があっても、どちらも再配置に関する用語です。
同時実行の話
→ 再入可能
配置場所の話
→ 再配置可能
問題文が同時実行を聞いているなら、再配置の選択肢は外せます。
どんな場面で使う?
再入可能性は、同じ処理が複数のタスクやスレッドなどから利用される場面で重要になります。
例えば、共通の計算処理を複数の処理から呼び出す場合です。
複数の処理
↓
同じ共通モジュールを利用
↓
互いの処理状態を壊さない
FE試験では実装方法の細部より、「同時に呼ばれても正しく動作する性質」を押さえるのが先です。
よくある誤解・混同
再入可能=何度も繰り返し使える
それだけでは再入可能とはいえません。
順番に何度も使う
→ 再使用可能の説明
複数タスクから同時に使う
→ 再入可能の説明
再入可能=自分自身を呼び出す
これは再帰可能です。
「誰が呼び出すか」に注目します。
別のタスクから同時に呼ばれる
→ 再入可能
自分自身を呼ぶ
→ 再帰可能
再配置可能=同時に複数の場所で実行できる
再配置可能の中心は、主記憶上の配置位置を変更できることです。
「同時・並行」と「配置場所」を混同しないようにします。
名前の「再」だけで選ぶ
4用語すべてに「再」が付くため、名称だけの暗記は混乱しやすくなります。
同時 → 再入
繰り返し → 再使用
自分自身 → 再帰
配置場所 → 再配置
と動作で覚えると切り分けやすくなります。
まとめ(試験直前用)
- 再入可能は、複数タスクから同時・並行して実行できる性質
- 「複数タスク」「同時」「並行」→ 再入可能
- 繰り返し使うなら再使用可能
- 自分自身を呼ぶなら再帰可能
- 主記憶上の配置位置を変えられるなら再配置可能
一言で覚えるなら、
同時なら再入、繰り返しなら再使用、自分なら再帰、場所なら再配置。