单例模式定义:
保证一个类仅有一个实例,并提供一个它的全局访问点。例如操作系统只能有一个窗口管理器,数据库只能存在一个实例等。
单例模式实现的三个要点:
(1)有一个私有的静态指针变量指向类的唯一实例。
(2)私有的构造方法
(3)公有的静态的获取实例的方法。
具体实现:
class Singleton
{
private:
static Singleton *instance;
Singleton();
public:
static Singleton *getInstance()
{
if(instance==NULL)
instance=new Singleton();
return instance;
}
}
如何保证线程安全:
即保证线程同步和互斥访问的方法:
临界区,信号量,加锁等。