#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>
class singleton{
private:
static volatile singleton *p;
static pthread_mutex_t mtx;
singleton(){}
public:
static singleton * getInstance();
};
singleton * singleton::p = NULL;
pthread_mutex_t singleton::mtx;
singleton * singleton::getInstance(){
if (p == NULL){
pthread_mutex_lock(&mtx);
if (p == NULL) p = new singleton;
pthread_mutex_unlock(&mtx);
}
return p;
}
int main(){
singleton * ptr = singleton::getInstance();
singleton * ptr1 = singleton::getInstance();
return 0;
}
Linux C++ 单例模式
最新推荐文章于 2024-07-17 20:54:52 发布
该博客围绕 Linux 环境下的 C++ 单例模式展开。单例模式是一种重要的设计模式,在 Linux 系统中运用 C++ 实现单例模式有其独特之处,能为程序设计带来便利,可有效控制对象的创建数量。

442

被折叠的 条评论
为什么被折叠?



