学习muduo库(7)之单例类Singleton

UML:

学习muduo库(7)之单例类Singleton

pthread_once(&ponce_, &Singleton::init);

pthread_once(&ponce_, &Singleton::init);是一个线程安全的,且保证Singleton::init仅仅被执行一次。

解释:

Singleton是一个模板类,而且所有的成员都是静态的,所有不用生成对象。使用时这样写:

muduo::Singleton<Test>::instance()//Test是一个类名

仅在第一次调用这句话时,才会生成唯一的实例,并返回。之后的调用,就会直接返回已经生成的实例对象。