スレッド記憶域期間
From cppreference.com
記憶域クラス指定子 _Thread_local (C11以降) を付けて宣言された識別子を持つオブジェクトは、スレッド記憶域期間 (thread storage duration) を持ちます。その生存期間は、それが作成されたスレッドの実行期間全体です。また、その格納値はスレッドの開始時に初期化されます。スレッドごとに別個のオブジェクトが存在し、式の中で宣言された名前を使用すると、その式を評価しているスレッドに関連付けられたオブジェクトを参照します。オブジェクトが関連付けられているスレッド以外のスレッドから、スレッド記憶域期間を持つオブジェクトに間接的にアクセスしようとした場合の結果は、処理系定義です。
[編集] 例
このコードを実行
const double PI = 3.14159; /* const variable is global to all threads */ _Thread_local unsigned int seed; /* seed is a thread-specific variable */ int main(void) { return 0; }
実行結果の例
(none)