• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Singleton(單件) 模式:
                  保證一個(gè)類只有一個(gè)實(shí)例,并且提供一個(gè)訪問它的全局訪問點(diǎn)。
                  假設(shè)有一個(gè)太陽類 Sun:

            class Sun

            {

            public:

                   Sun(){}

                   ~Sun(){}

                   static Sun* GetInstance()

                   {

                          if( m_pInstance == NULL)

                                 m_pInstance = new Sun();

                          return m_pInstance;

                   }

            private:

                   Sun* m_pInstance;

            }

            Sun*       Sun::m_pInstance = NULL;


                  這樣,當(dāng)有另外一個(gè)類的對(duì)象調(diào)用Sun 類的 GetInstance() 方法時(shí),它只會(huì)返回唯一一個(gè)Sun對(duì)象。當(dāng)有些類要被頻繁地調(diào)用時(shí),如果每次調(diào)用都要進(jìn)行實(shí)例化,那開銷是十分大的,這時(shí)候我們就可以考慮一下用這個(gè)模式。然而這個(gè)模式只適用于但線程,如果用于多線程,兩個(gè)或以上的對(duì)象同時(shí)調(diào)用這個(gè)實(shí)例的時(shí)候,就會(huì)涉及到線程互斥的問題了。
                  把Singleton模式修改一下,使它適合用于多線程,這就是Double Checked Locking 模式所要解決的問題。

             

            class Sun

            {

            public:

                   Sun(){}

                   ~Sun(){}

             

                   static Sun* GetInstance()

                   {

            if( m_pInstance == NULL)

            {

            //處理線程互斥

             

                                 if( m_pInstance == NULL)

                                        m_pInstance = new Sun();

            }

                          return m_pInstance;

                   }

             

            private:

                   Sun* m_pInstance;

            }

            Sun*       Sun::m_pInstance = NULL;


                  只需要在 GetInstance()方法里面改一下,加一段線程互斥處理的代碼,其它不變。
             

            久久久艹| 94久久国产乱子伦精品免费| 日本欧美国产精品第一页久久| 久久99精品久久久久久野外| 欧美成人免费观看久久| 色欲久久久天天天综合网| 色综合久久中文综合网| 日韩精品久久久久久久电影| aaa级精品久久久国产片| 亚洲精品综合久久| 久久亚洲中文字幕精品有坂深雪| 国产精品一区二区久久精品无码| 青青草原精品99久久精品66| 久久久久久久亚洲精品| 99久久精品费精品国产一区二区 | 中文字幕无码精品亚洲资源网久久| 久久国产欧美日韩精品| 狠狠精品干练久久久无码中文字幕 | 久久超乳爆乳中文字幕| 久久人搡人人玩人妻精品首页| 久久久久久久亚洲Av无码| 色诱久久av| 国产精品99久久久久久董美香| 午夜精品久久久久久99热| 国产精品成人久久久| 久久夜色撩人精品国产| 国产2021久久精品| 久久电影网一区| 久久99国产亚洲高清观看首页| 日韩AV无码久久一区二区| 热99RE久久精品这里都是精品免费| 国产亚洲美女精品久久久| 亚洲国产精品久久久久久| 久久精品免费一区二区三区| 精品久久久中文字幕人妻| 国内精品伊人久久久影院| 亚洲人成电影网站久久| 久久99热这里只频精品6| 久久久久久久精品妇女99| 久久婷婷午色综合夜啪| 久久精品一本到99热免费|