|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana)
スレッド局所記憶(英: Thread local storage, TLS)は、静的もしくは大域的なメモリをスレッドごとに局所的に使用するためのコンピュータプログラミングの方法である。 プロセス内のスレッドはすべてアドレス空間を共有しており、同じプロセスのスレッドから参照する際、静的変数やグローバル変数は同じメモリ番地に配置される。 一方スタック上の変数はすべてのスレッドが自分のスタックを持つためスレッドに対して局所的であり、異なるメモリ番地に存在する。 同じ静的変数・グローバル変数を参照する二つのスレッドが(変数をスレッドに対して局所的にすることで)実際には異なるメモリ番地を参照できることが望ましい場合がある。たとえば典型的な例としてC言語のエラーコードを格納する変数 errno がある。少なくともメモリアドレスを格納できるサイズの変数をスレッドに対して局所的にすることが可能なら、メモリブロックを確保し、そのメモリアドレスをスレッドローカルな変数に格納すれば、原理的には任意のサイズのメモリブロックをスレッド局所にすることが可能である。 ==Windows での実装== API 関数 TlsAlloc を用いると、未使用の ''TLS スロット番号''を取得できる。これによりその番号は使用中となる。 次にTlsGetValue および TlsSetValue 関数を用いて、番号によって識別されるスレッドローカルな変数に対する読み書きができる。TlsSetValue は現在のスレッドの変数にしか影響を与えない。 TlsFree 関数を用いると、''TLS スロット番号'' を解放することができる。番号は再び未使用となり、あらたな TlsAlloc により再度使用される。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「スレッド局所記憶」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Thread-local storage 」があります。 スポンサード リンク
|