多线程单利模式之双检锁必要性

    static CSingleton* GetInstance()
    {
        if( m_pInstance == NULL )              //优化性能,总比锁快
        {
            CAutoLock  lock( &cs );              //防止多线程引起的同步问题
            if( m_pInstance == NULL )          //确保该段代码进入单线程模式,开始可靠性判断
            {
                m_pInstance  =  new CSingleton;
            }
        }
        return m_pInstance;
    }

 

2014年11月19日15:54:52

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。