C++11 標準には、静的変数をスレッド ローカルにする、thread_local 指定子という新しい追加機能が含まれています。標準の thread_local は、非自明な型 (コンストラクタとデストラクタを持つ型) をサポートしています。残念ながら、GCC__thread
は、拡張機能として提供される指定子を介して自明な型のみをサポートします。thread_local
上でエミュレートする方法はあり__thread
ますか?の実装__thread
は非常に高速であるため (通常の変数に 2 つの間接参照を加えたものと同等)、ホット パス内のライブラリ関数は避けたいと考えています。
GCC と Linux を使用しています。携帯性は必要ありません。