スレッド局所記憶
Ruby では、スレッド局所変数は []= および [] メソッドを使ってアクセスすることができる。
D言語 の D2 では、グローバル変数および静的変数がデフォルトでスレッド局所変数になった。
この場合、スレッド間で共有される変数は shared修飾子もしくは __gshared属性 を用いて作成することができる。
Java ではスレッドローカルの変数は、クラスjava.lang.ThreadLocalによって実現されている。ThreadLocal のオブジェクトは、オブジェクトの get() や set() メソッドをコールする各スレッドごとに、変数の異なるインスタンスを保持する。以下は、Integer オブジェクトを保持するThreadLocal を用いた例である:
はじめのコードで ThreadLocal オブジェクト local を宣言、インスタンス化し、呼び出すスレッドから他の値が格納されなければ初期値 1 を返す。以下のコードは、現在の実行スレッドから値を 1 増やす。
local.get()は、現在のスレッドに関連付けられた Integer オブジェクトを返す。また、local.set() を呼び出してスレッドに関連付けた値を設定する。なお、上記の例は J2SE 5.0 で追加されたジェネリクスと自動ボックス化を使用している。