This commit is contained in:
Light-City
2020-02-07 13:42:44 +08:00
parent 5b5e3bc288
commit 60af6600e4
17 changed files with 505 additions and 10 deletions

View File

@@ -0,0 +1,28 @@
//
// Created by light on 20-2-6.
//
#include <sys/param.h>
#include <pthread.h>
class singleton {
private:
singleton(); //私有构造函数,不允许使用者自己生成对象
singleton(const singleton &other);
//要写成静态方法的原因类成员函数隐含传递this指针第一个参数
static void init() {
p = new singleton();
}
static pthread_once_t ponce_;
static singleton *p; //静态成员变量
public:
singleton *instance() {
// init函数只会执行一次
pthread_once(&ponce_, &singleton::init);
return p;
}
};