现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

单例模式实例

2012-08-27 06:58 工业·编程 ⁄ 共 800字 ⁄ 字号 暂无评论

class CWebPageAnalyzeProxyList
{
private:
CWebPageAnalyzeProxyList(void);
public:
~CWebPageAnalyzeProxyList(void);

public:
// 读取消息
BOOL fGet (string&) ;
// 加入消息
BOOL fAdd (const string&) ;
private:
// 优先级为0的消息链表
list<string> strList0 ;
// 优先级为1的消息链表
list<string> strList1 ;
private:
WLock m_MessLock ;

private:
static CWebPageAnalyzeProxyList m_List ;
public:
static CWebPageAnalyzeProxyList* instance()
{

//CWebPageAnalyzeProxyList CWebPageAnalyzeProxyList::m_List ; =>这也是一种实现方式
  return &m_List ;
}
};

CWebPageAnalyzeProxyList CWebPageAnalyzeProxyList::m_List ;

///////////////////////////////////////////////////////////

也可以像下面这样写:

static CHDTLog* Instance()
{
  static CHDTLog m_Log ;
  return &m_Log ;
}

/////////////////////////////////////////////////////////

也可以像下面这样写,但不支持多线程

Singleton* Singleton::Instance() { if (_instance == 0) { _instance = new Singleton(); }

return _instance; }

给我留言

留言无头像?