Подтвердить что ты не робот

С++ 11 поддержка ключевого слова thread_local в визуальной студии 11

Итак, есть список функций С++ 11, поддерживаемых visual studio.

Поддержка thread_local отмечена как частичная. Мне не удалось найти объяснения того, что именно означает частичная поддержка здесь. Они просто псевдонимы __declspec (thread)?

Я мог бы просто использовать boost:: thread_specific_ptr, но, похоже, есть некоторые отчеты, которые boost:: thread_specific_ptr медленны. Это может быть или не быть правдой.

В частности, я хочу быстрый TLS на x86/x64 на последних версиях linux + gcc и windows + msvc. Быстрое значение без системных вызовов, где это возможно (я думаю, что это возможно для платформ выше.)

4b9b3361

Ответ 1

Итак, я немного перекопал в семантику thread_local. gcc __thread и msvc __declspec (thread) имеют одну и ту же семантику, как и другие, и thread_local (динамическая инициализация в сторону, которая может или не могла быть включена в стандарт.) Так что это действительно не проблема для моего варианта использования. Я просто сделаю определение, что псевдонимы один или другой специфический для платформы атрибут.