当前访客身份:游客 [ 登录 | 加入 OSCHINA ]

代码分享

当前位置:
代码分享 » C/C++  » 编程基础
ai0376

线程非安全单例模式

ai0376 发布于 2014年10月10日 14时, 2评/405阅
分享到: 
收藏 +0
2
线程非安全单例模式
标签: <无>

代码片段(1) [全屏查看所有代码]

1. [代码][C/C++]代码     跳至 [1] [全屏预览]

class Singleton{
public:
	static Singleton *getInstance()
	{
		if(m_instance == NULL)
		{
			m_instance = new Singleton;
		}
		return m_instance;
	}
	void show()
	{
		std::cout << "This is show" << std::endl;
	}
private:
	Singleton(){};
	Singleton(const Singleton&){};
	Singleton & operator=(const Singleton&){};

	static Singleton *m_instance;
};

Singleton *Singleton::m_instance = 0;

int main(int argc, char* argv[])
{
	Singleton::getInstance()->show();
	return 0;
}


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(2)

  • 1楼:wfeina 发表于 2015-03-03 16:39 回复此评论
    template <typename T>
    class Singleton 
    {
    public:
    Singleton() 
    {
    }
       virtual ~Singleton()
    {
    }

    inline static T* Instance()
    {
    return &s_instance;
    }
    private:
    static T   s_instance;
    };
    template <class T> 
    T Singleton<T>::s_instance;
  • 2楼:wfeina 发表于 2015-03-03 16:39 回复此评论
    线程安全的
开源从代码分享开始 分享代码
ai0376的其它代码 全部(45)...