写一个单例模式:
class MySingleton
{
public:
static MySingleton * GetInstance()
//static method that returns only instance of MySingletone
{
if (m_pOnlyOneInstance == NULL) // if not yet instantiated
{
m_pOnlyOneInstance = new MySingleton();
//create one and only object
}
return m_pOnlyOneInstance;
}
private:
static MySingleton * m_pOnlyOneInstance;
//holds one and only object of MySingleton
MySingleton(); // private constructor
public:
// MySingleton functionalities
void foo();
bool goo();
int zoo();
};
临界区实现线程安全:
MySingleton * GetInstance()