简介
moduo提供了单例模板类,是线程安全的
结构
单例是动态分配的,不是使用静态变量。其线程安全是通过pthread_once_t
获取单例
static T& instance()
{pthread_once(&ponce_, &Singleton::init);return *value_;
}
init
分配内存,同时通过atexit
设置进程退出时释放
static void init()
{value_ = new T();::atexit(destroy);
}static void destroy()
{delete value_;value_ = NULL;
}