#include<iostream>
#include<pthread.h>
using namespace std;
pthread_mutex_t mutex;
class Singleton
{
public:
static Singleton* getInstance()
{
//return &singleTon;
if(NULL == psingleTon)
{
pthread_mutex_lock(&mutex);
if(NULL == psingleTon)
{
psingleTon = new Singleton();
}
pthread_mutex_unlock(&mutex);
}
return psingleTon;
}
private:
Singleton()
{
cout<<"hello"<<endl;
}
static Singleton *psingleTon;
};
Singleton* Singleton::psingleTon = NULL;
int main()
{
Singleton *p1 = Singleton::getInstance();
Singleton *p2 = Singleton::getInstance();
Singleton *p3 = Singleton::getInstance();
Singleton *p4 = Singleton::getInstance();
return 0;
}
第二题 单例模式
最新推荐文章于 2024-01-05 10:46:13 发布