单例模式是一种很简单,很常见的模式。我们创造并使用单例,一般是基于两点考虑。
1.全局唯一。
2.便利的访问(更多的人的会考虑这个)。
那么如何写出一个单例模式,写一个单例模式我们要思考那些东西,避免那些问题。下面是一个C++实现的单利模式,不过只考虑了保证全局只有一个对象的问题。
class Singleton
{
public:
static Singleton* getInstance()
{
static Singleton* instance = new Singleton();
return instance;
}
private:
Singleton() {}
};
这个单例没有加锁,C++的机制却保证它是线程安全的,不过也仅能保证全局只有一个实例。如果该实例用来记录一些状态,在多线程的情况还是考虑加一下锁吧。