スレッド局所記憶
C言語では C11 からキーワード _Thread_local を用いて TLS を使用できる。
C++ では C++11 においてスレッドに関する規定とキーワード thread_local が導入された。以下のケース全てで TLS を使用できる。
名前空間スコープ(グローバル)変数
ファイルスコープ静的変数
関数スコープ静的変数
静的メンバ変数
thread_local を下記のように使用する:
また非定数初期化子の使用やコンストラクタ・デストラクタを呼び出すクラスも使用できる。
C11/C++11 より前から以下の処理系では独自に TLS を実装している。
Sun Studio C/C++, IBM XL C/C++, GNU C, Clang, Intel C/C++ (Linux) キーワード __thread を下記のように使用する: __thread int number;