Является ли статическая инициализация потокобезопасной с VC2010?
Я искал ответ на этот вопрос в SO и MSDN, но не могу найти четкого и окончательного ответа ...
Я знаю, что это стандарт C ++ 11 и что текущая версия GCC ведет себя таким образом, но гарантирует ли VC2010 в настоящее время безопасность потоков при инициализации локальной статической переменной?
т. е. Является ли этот потокобезопасным с VC2010?
static S& getInstance()
{
static S instance;
return instance;
}
... А если нет, какова текущая лучшая практика для получения поточно-ориентированной одноэлементной реализации в C ++ с VC2010?
EDIT: Как указано в ответе Криса Бетти, VC2010 не реализует многопотоковую защиту локальной статической переменной init.