14

したがって、VisualStudioでサポートされているc++11機能のリストがあります

thread_localサポートは部分的としてマークされています。ここでは、部分的なサポートが何を意味するのかについての説明を見つけることができませんでした。彼らは単に__declspec(thread)をエイリアスしましたか?

boost :: thread_specific_ptrを使用することもできますが、 boost::thread_specific_ptrが遅いという報告がいくつかあるようです。それは真実かもしれないし、そうでないかもしれない。

具体的には、最新のlinux+gccおよびwindows+msvcのx86/x64で高速TLSが必要です。高速とは、可能な限りシステムコールがないことを意味します(これは上記のプラットフォームでも可能だと思います)。

4

1 に答える 1

6

そこで、thread_localのセマンティクスを掘り下げました。gccの__threadとmsvcの__declspec(thread)は、互いに同じセマンティクスとthread_localを持っています(動的初期化は別として、まだ標準になっている場合と入っていない場合があります)。したがって、これは私のユースケースでは実際には問題ではありません。いずれかのプラットフォーム固有の属性をエイリアスする定義を作成します。

于 2012-01-07T21:51:43.603 に答える