欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

单体模式singleton

发布时间:2024/9/30 编程问答 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 单体模式singleton 小编觉得挺不错的,现在分享给大家,帮大家做个参考.


在c++实现单体模式和c#,java有些不同


.h

class Param { public:static Param& GetIntance(){return m_param;}static Param m_param; }
.cpp

Param Param::m_param;


看起来比高级语言的单体模式还简单,不用考虑到多线程的问题


如果要求返回指针呢?

//头文件
class Singleton
{
private:
  static Singleton *s_instance;
public:
  static Singleton* instance();
}



Singleton* Singleton::instance() { if (!s_instance) { boost::mutex::unique_lock lock(your_mutex); //假设用boost的lock if(!s_instance) //双重检测{ s_instance = new Singleton; }} return s_instance; }

如此高效的避免了,在多线程模式下可能产生多个实例的现象


http://www.cnblogs.com/rush/archive/2011/10/30/2229565.html 写得很不错


总结

以上是生活随笔为你收集整理的单体模式singleton的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。