單例模式與多線程

困惑ing

Class A
{
    public:
        ~A(){}
        static A* getInstance()
        {
            if(_instance==NULL)    
                _instance=new A;
            return _instance;
        }
        void func
        {
        }
    private:
        static A* _instance;
    private:
        A(){}
};

這樣一個單例模式的類A,如果有2個線程thread1 和 thread2 都同時訪問它通過A::getInstance()->func()的方式調用了func函數,這時會發生什麼事情呢?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章