- 单例模式
保证一个类只有一个实例,并提供一个访问它的全局访问点 - 参考资料
C++设计模式——单例模式: http://www.jellythink.com/archives/82 - Muduo库实现单例模式的思想:
通过pthread_once在多个线程中只会初始化一次的特性实现的线程安全的单例模式
template<typename T>
class Singleton : noncopyable
{
public:
static T& instance()
{
//ponce_=PTHREAD_ONCE_INIT;所以该函数只会初始化一次init函数,哪个线程实现初始化取决于哪个线程先抢占CPU的执行权
pthread_once(&ponce_, &Singleton::init);
assert(value_ != NULL);
return *value_;
}
private:
Singleton();
~Singleton();