リエントラント 【reentrant】 再入可能

概要

リエントラント(reentrant)とは、あるプログラムやルーチンなどを実行中に、再び起動して実行し始めることができる性質。多重に起動されても狂いが生じず正しく動作する設計になっていることを表す。

ある関数やサブルーチン、メソッドなどが外部から呼び出されて実行されている最中に、割り込み処理などにより再び呼び出されて並列に実行される場合がある。このような場合にも実行状態やデータに矛盾や破壊が起きず、どちらの呼び出しも正常に終了させられることを「リエントラントである」という。

関数内などで閉じた通用範囲(スコープ)を持つローカル変数などだけを用いる場合には後続の起動によって状態が乱されることはないためほとんどがリエントラントになる。一方、グローバル変数静的変数スタティック変数)、固定された特定のメモリ領域、I/Oポートなど、何らかの形で外部と共有している要素を参照・操作する場合には慎重に処理を進めなければリエントラントでなくなってしまうことがある。

(2018.10.4更新)

プログラミングの用語一覧

試験出題履歴

基本情報技術者試験 : 令6修12 問7 令6修6 問7 令5修12 問7 令5修6 問7 令1修6 問8 平31春 問8 平29修1 問8 平27修6 問8 平27春 問7 平25修7 問6 平24修6 問8 平24修1 問6 平22春 問8 平22修1 問7