您的位置:首页 > 编程语言 > C语言/C++

C++线程安全的单例模式

2017-07-28 18:00 337 查看
实现支持:静态成员变量的初始化是在程序开始后、进入主函数之前就由主线程以单线程方式完成的,所以不必担心多线程安全问题

优势:在性能需求较高时,使用这种模式,避免频繁的锁争夺

具体实现

.h文件

class SingleTest
{

public:
static SingleTest *GetSingleTest();
private:
SingleTest();
virtual ~SingleTest();
//其他的默认成员函数省略

private:
static SingleTest * const s_pSingleTest;

};


.cpp文件

SingleTest * const SingleTest::s_pSingleTest=new SingleTest;

SingleTest *SingleTest::GetSingleTest(){
return s_pSingleTest;
}

SingleTest::SingleTest(){
}

SingleTest::~SingleTest() {
}


欢迎大家讨论!

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: