单例模式——懒汉模式

1、定义:
单例模式是一种创建型设计模式,它保证一个类只有一个实例,并提供一个全局访问点。懒汉式单例模式是指在第一次访问时才创建唯一实例,这种实现方式在实例创建开销较大或者实例使用不频繁时,可以减少不必要的资源开销。但在多线程环境下,懒汉式单例模式的实现需要加上synchronized关键字才能保证线程安全 。
2、例子

点击查看代码
// 单例模式
class Singleton
{
public:
    static Singleton* getInstance()
    {
        if (instance == nullptr)
        {
            instance = new Singleton();
        }
        return instance;
    }

private:
    Singleton() {}
    Singleton(const Singleton&) = delete;
    Singleton& operator=(const Singleton&) = delete;

    static Singleton* instance;
};

Singleton* Singleton::instance = nullptr;

// 懒汉式单例模式
class LazySingleton
{
public:
    static LazySingleton* getInstance()
    {
        if (instance == nullptr)
        {
            instance = new LazySingleton();
        }
        return instance;
    }

private:
    LazySingleton() {}
    LazySingleton(const LazySingleton&) = delete;
    LazySingleton& operator=(const LazySingleton&) = delete;

    static LazySingleton* instance;
};

LazySingleton* LazySingleton::instance = nullptr;

posted @   木村拓哉的村  阅读(203)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示