线程安全的单例模式

单例模式定义:

保证一个类仅有一个实例,并提供一个它的全局访问点。例如操作系统只能有一个窗口管理器,数据库只能存在一个实例等。

单例模式实现的三个要点:

(1)有一个私有的静态指针变量指向类的唯一实例。

(2)私有的构造方法

(3)公有的静态的获取实例的方法。

具体实现:

 

class Singleton

{

private:

         static Singleton *instance;

         Singleton();

public:

         static Singleton *getInstance()

{

                  if(instance==NULL)

                           instance=new Singleton();

                  return instance;

         }

}

 

如何保证线程安全

即保证线程同步和互斥访问的方法:

临界区,信号量,加锁等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章