スレッド・ローカル・ストレージ

インテル® C++ コンパイラは、変数定義および変数宣言で使用されるストレージ・クラスの __thread キーワードをサポートします。このキーワードで定義され、宣言された変数は、自動で各スレッドにローカルに割り当てられます:

__thread int i;

__thread struct state s;

extern __thread char *p;

__thread キーワードは、GNU 互換性バージョンが 3.3 以上の場合のみ認識されます。スレッド・ローカル・ストレージを有効にするために、-gcc-version=330 コンパイラ・オプションを指定することができます。

http://gcc.gnu.org/onlinedocs/gcc/Thread_002dLocal.html#Thread_002dLocal (英語) も参照してください。