UML:
pthread_once(&ponce_, &Singleton::init);
pthread_once(&ponce_, &Singleton::init);是一个线程安全的,且保证Singleton::init仅仅被执行一次。
解释:
Singleton是一个模板类,而且所有的成员都是静态的,所有不用生成对象。使用时这样写:
muduo::Singleton<Test>::instance()//Test是一个类名
仅在第一次调用这句话时,才会生成唯一的实例,并返回。之后的调用,就会直接返回已经生成的实例对象。