再入可能

リエントラント(Reentrant、再入可能)とは、プログラムやサブルーチンが、静的な内部状態をもたないので、再帰的にも、複数のスレッドからも、データを壊すおそれなく呼び出せる場合をいう。関数リエントラントであるためには、静的データを保持してはならず、静的データへのポインタを返してもいけない。呼出し側が提供したデータだけに基づいて処理をわなければならず、リエントラントでない関数を呼び出してはならない。

リエントラントなコードはスレッドセーフであるほか、データを壊すことなく処理を一時中断することもできる。

セマフォのような同期機構を用いて静的データへのアクセスを保護したコードは、スレッドセーフではあるがリエントラントではない。

スレッドセーフなコードを書く場合に、その手法として、リエントラントなコードを採用することがある。しかし、リエントラントなコードは、同期機構を用いた単にスレッドセーフなコードを書くのに比べて難度が高い。

誤解されることが多いが、仮想記憶によって物理記憶上のプログラムのイメージを複数のプロセスのアドレス空間にマッピングして使用するなどの設計と、リエントラントという概念は厳密には同じではない。

再入可能」『フリー百科事典 ウィキペディア日本語版』(http://ja.wikipedia.org/)。2009年7月28日15時(日本時間)現在での最新版を取得。

続きを見る

おすすめ情報

高品質・低価格のインターネットプロバイダ
インターネットプロバイダー「ASAHIネット」はADSL, 光回線などのインターネット接続を業界最安値水準でを提供している。日経ビジネス・J.D. Power等のお客様満足度調査でも高い評価を得ており。「推奨度№1」といわれるのも納得だ。


2010年プロバイダー【顧客満足度】NO.1 トリプル受賞  ASAHIネット

入会・お問い合わせダイヤル
0120-030-275
携帯電話/PHS/IP電話などからは
03-3569-3526

10:00~19:00(土日祝~17:00)

書面での申し込みはこちら
資料請求

このページのトップヘ