c++ - 在 C++ 中,要确保单例线程安全,该怎么做?

标签 c++ singleton

有人告诉我只写单例作为本地类,是这样吗?

我想知道为什么使用本地类可以保证线程安全。

最佳答案

#include <boost/utility.hpp>

class singleton : private boost::noncopyable {
public:
    static singleton& instance() {
        static singleton inst;
        return inst;
    }

private:
    singleton() = default;
    ~singleton() = default;
};

局部静态变量的构造保证是线程安全的。

另外,不惜一切代价避免单例。它们和全局变量一样可怕。

关于c++ - 在 C++ 中,要确保单例线程安全,该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21212956/

相关文章:

c++ - 识别线程

python - 如何在 Python 中创建模块范围的变量?

java - 我应该对不需要序列化、代理或装饰的 bean 使用 CDI javax.inject.Singleton

java - 线程安全的枚举单例

c++ - 程序无法启动,因为您的计算机缺少 libgcc_s_dw2-1.dll。简单控制台

c++ - QTabWidget 带有动态变化的小部件

c++ - 将字符串 vector 连接(连接)到字符缓冲区,零字节作为分隔符/终止符

c++ - 引用返回有什么意义?

c++ - 在 map 中插入 std::string 和指向对象的共享指针

javascript - 在 JavaScript 中,有没有办法生成单个变量以在项目中的 .js 文件之间共享?