• <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()方法里面改一下,加一段線程互斥處理的代碼,其它不變。
             

            久久精品一区二区三区AV| 久久久久久亚洲精品成人| 亚洲国产成人久久综合一 | 久久综合久久综合亚洲| 亚洲国产精品久久电影欧美| 国产精品久久久久国产A级| 精品久久久久久无码中文字幕| 亚洲色欲久久久久综合网| 伊人色综合久久天天人手人婷| 国产午夜精品久久久久免费视| 久久99亚洲综合精品首页| 国产69精品久久久久9999APGF| 久久香蕉综合色一综合色88| 婷婷久久综合| 国产综合精品久久亚洲| 97精品国产97久久久久久免费 | 国产午夜电影久久| 无码国内精品久久人妻| 亚洲国产精品一区二区三区久久 | 久久这里只有精品视频99| 精品久久久久久无码专区不卡| 亚洲人成无码www久久久| 99久久精品免费| 精品国产乱码久久久久久郑州公司| 精品久久久久中文字| 99久久人妻无码精品系列| 午夜精品久久久久久久久| 热RE99久久精品国产66热| 国产精品99久久久久久猫咪| 国产情侣久久久久aⅴ免费| 色综合久久久久久久久五月| 久久人人青草97香蕉| 理论片午午伦夜理片久久| 99久久久久| 久久久久久青草大香综合精品| 亚洲天堂久久精品| 国产一区二区三精品久久久无广告 | 久久精品国产男包| 久久精品一区二区三区AV| 伊人久久大香线蕉av不变影院| 亚洲国产成人精品无码久久久久久综合 |