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?