第二题 单例模式

来源:互联网 发布:尔康制药 知乎 编辑:程序博客网 时间:2024/06/05 03:43
#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;}