リエントラント 【reentrant】 再入可能
概要
リエントラント(reentrant)とは、あるプログラムやルーチンなどを実行中に、再び起動して実行し始めることができる性質。多重に起動されても狂いが生じず正しく動作する設計になっていることを表す。ある関数やサブルーチン、メソッドなどが外部から呼び出されて実行されている最中に、割り込み処理などにより再び呼び出されて並列に実行される場合がある。このような場合にも実行状態やデータに矛盾や破壊が起きず、どちらの呼び出しも正常に終了させられることを「リエントラントである」という。
関数内などで閉じた通用範囲(スコープ)を持つローカル変数などだけを用いる場合には後続の起動によって状態が乱されることはないためほとんどがリエントラントになる。一方、グローバル変数や静的変数(スタティック変数)、固定された特定のメモリ領域、I/Oポートなど、何らかの形で外部と共有している要素を参照・操作する場合には慎重に処理を進めなければリエントラントでなくなってしまうことがある。
(2018.10.4更新)