写一个单例模式双检索模板
时间: 2023-05-18 13:07:07 浏览: 131
单例模式示例
好的,以下是一个单例模式双检索模板的代码:
```c++
class Singleton {
private:
static Singleton* instance;
static mutex mtx;
Singleton() {}
public:
static Singleton* getInstance() {
if (instance == nullptr) {
lock_guard<mutex> lock(mtx);
if (instance == nullptr) {
instance = new Singleton();
}
}
return instance;
}
};
Singleton* Singleton::instance = nullptr;
mutex Singleton::mtx;
```
这个模板可以确保在多线程环境下,只有一个实例被创建,并且在第一次使用时才会被创建。
阅读全文