TLS для инициализации статиков? на каких-нибудь атомиках и мутексах или подобном
вы хотите использовать результат компиляции в динамический загружаемой DLL на XP?
инициализация статиков всегда thread safe, как именно это достигается внутри я не знаю, но вроде static!=thread_local, а вот обратное верно.
Статиков, которые проинициализируются в момент первого вызова функции? Инициализация займёт какое-то время. В это время нужно другие потоки, ожидающие выполнения этой функции, заблокировать. В принципе проблема решается двумя атомарными переменными, атомарным exchange, атомарным чтением и spinlock-ом на время инициализации. Там, вероятнее, придумали доп. оптимизацию за счёт TLS, чтобы не выполнять атомарные операции.
Обсуждают сегодня