摘要:
多线程安全的单例模式:CSingletion*CSingletion::ms_Instance=NULL;CSingletion *CSingleton::GetInstatce(){ if(ms_Instance==NULL) { Lock(); if(ms_Instance==NULL) {ms_Instance=new CSingletion(); } Unlock(); } return ms_Instance;}Lock()下的第二个if是必要的,考虑当第一次调用时,第一个if成立,加锁后,第二个if也成立,开始准备执行new,这是第二次调用开始,由于new还没做,因此第二次调用也能 阅读全文