- #include
- #include
- #include
-
- class Single
- {
- public:
- // 获取单实例对象
- static Single& GetInstance();
-
- // 打印实例地址
- void Print();
-
- private:
- // 私有构造函数,防止外部创建对象
- Single()
- {
- std::cout << "构造函数" << std::endl;
- }
-
- // 删除拷贝构造和赋值构造,防止复制
- Single(const Single&) = delete;
- Single& operator=(const Single&) = delete;
-
- public:
- // 确保析构函数可以被调用
- ~Single()
- {
- std::cout << "析构函数" << std::endl;
- }
-
- private:
- // 内部静态变量,线程安全的懒汉单例
- static Single instance;
- };
-
- // 静态变量初始化
- Single Single::instance;
-
- Single& Single::GetInstance()
- {
- return instance;
- }
-
- void Single::Print()
- {
- std::cout << "我的实例内存地址是:" << this << std::endl;
- }
-
- void ThreadFunction(int threadID)
- {
- Single& singleton