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

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

2015-01-10 16:31 609 查看
class Singleton
{
public:
static Singleton* getInstance()
{
if (instance == NULL)
{
//mutex.lock();
if (instance == NULL)
{
instance = new Singleton();
}
//mutex.unlock();
}
return instance;
}
private:
static Singleton* instance;
//Mutex mutex;
};
Singleton* Singleton::instance = NULL;


Mutex取绝于平台。。。
注意:两次instance == null的判断不可少。才能保证多线程安全,这种方法也叫Double-Check Locking(双重锁定)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: