头文件:
std::shared_ptr<Singleton> Singleton::s_instance;
Singleton *Singleton::getInstance()
{
static std::mutex s_mutex;
if (s_instance.get() == NULL)
{
s_mutex.lock();
if (s_instance.get() == NULL)
{
s_instance.reset(new Singleton());
}
s_mutex.unlock();
}
return s_instance.get();
}
Singleton::Singleton()
{
}
源文件:
std::shared_ptr<Singleton> Singleton::s_instance;
Singleton *Singleton::getInstance()
{
static std::mutex s_mutex;
if (s_instance.get() == NULL)
{
s_mutex.lock();
if (s_instance.get() == NULL)
{
s_instance.reset(new Singleton());
}
s_mutex.unlock();
}
return s_instance.get();
}
Singleton::Singleton()
{
}