Variáveis ​​estáticas thread-safe sem mutexing?

Lembro-me de ler que as variáveis ​​estáticas declaradas dentro dos métodos não são seguras para threads. (VejoE quanto ao singleton do Meyer? como mencionado porTodd Gardner)

<code>Dog* MyClass::BadMethod()
{
  static Dog dog("Lassie");
  return &dog;
}
</code>

Minha biblioteca gera código C ++ para os usuários finais compilarem como parte de seu aplicativo. O código que ele gera precisa inicializar variáveis ​​estáticas em uma maneira de plataforma cruzada segura para thread. Eu gostaria de usarboost::call_once para mutex a inicialização da variável, mas os usuários finais são expostos à dependência do Boost.

Existe uma maneira de fazer isso sem forçar dependências extras para os usuários finais?

questionAnswers(5)

yourAnswerToTheQuestion