<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      基礎(chǔ)才是重中之重~LazyInitializer.EnsureInitialized對屬性實現(xiàn)化的性能優(yōu)化

      回到目錄

      LazyInitializer.EnsureInitialized是frameworks4.0引入的新東西,實現(xiàn)對屬性延時初始化的功能,它作用在System.Threading命名空間下,所以,它與多線程有著密切的關(guān)系,即當(dāng)多人同步使用這個方法時,對存儲的對象有著某種作用,這是msdn的相關(guān)說明:

      這個方法可以用于多個執(zhí)行者初始化Target目錄對象。

      在多個執(zhí)行者同時存取這個方法的情況下,可能會建立多個T執(zhí)行個體,但只有一個執(zhí)行個體會存儲至target。在些類情況下,這個方法將不會放置未儲存的對象。如果這類對象必須被放置,則由呼叫端判斷未使的對象,然后再對物件進(jìn)行適當(dāng)?shù)姆胖谩?/p>

      對于概念不清楚的同步,沒有關(guān)系,看下面的例子如完全明白了,呵呵

      下面的實例介紹了對屬性的兩個初始化,并進(jìn)行比較,延時初始化的好處,即在對象使用時再去初始化它當(dāng)一個方法體中,如果一個對象初始化了一次,不要再進(jìn)行重復(fù)的初始化工作。

      代碼1,展現(xiàn)了性能不好的情況

      代碼2,展現(xiàn)了優(yōu)化的情況

      代碼3,微軟為了我們進(jìn)行了封裝,在多線程中表現(xiàn)更好

      代碼1

        class TestLazyInitializer1
          {
      
              public People People
              {
                  get
                  {
      
                      return new People();
      
                  }
              }
      
              public void Print1()
              {
                  Console.WriteLine(People.Name);
              }
              public void Print2()
              {
                  Console.WriteLine(People.Name);
              }
      
          }

      代碼2:

       class TestLazyInitializer2
          {
              People _people;
              public People People
              {
                  get
                  {
      
                      return _people == null
                          ? (_people = new People())
                          : _people;
      
                  }
              }
      
              public void Print1()
              {
                  Console.WriteLine(People.Name);
              }
              public void Print2()
              {
                  Console.WriteLine(People.Name);
              }
      
          }

      代碼3

       class TestLazyInitializer
          {
              private People _people;
              /// <summary>
              /// 延時初始化指定屬性
              /// </summary>
              public People People
              {
                  get
                  {
                      return LazyInitializer.EnsureInitialized(
                          ref _people, () =>
                          {
                              return new People();
                          });
                  }
              }
      
              public void Print1()
              {
                  Console.WriteLine(People.Name);
              }
              public void Print2()
              {
                  Console.WriteLine(People.Name);
              }
      
          }

      而它們運行的結(jié)果,我們可想而知了,當(dāng)一個類中多次使用同一個對象時,性能不好的,返回的Name(當(dāng)前時間),肯定是不同的,而性能好的,只初始化一次的,返回的Name(當(dāng)前時間)肯定是一個值,呵呵。

      感謝閱讀!

       回到目錄

      posted @ 2013-11-25 11:00  張占嶺  閱讀(3057)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 一本久道中文无码字幕av| 国产精品 无码专区| 亚洲成人av在线高清| 久久久婷婷成人综合激情| 亚洲三级香港三级久久| 亚洲理论在线A中文字幕| 亚洲精品日韩在线丰满| 丁香五月网久久综合| 中文有无人妻vs无码人妻激烈| 免费超爽大片黄| 日韩精品区一区二区三vr| 岛国岛国免费v片在线观看| 国产又爽又黄的精品视频| 精品人妻无码中文字幕在线| 日韩深夜视频在线观看| 在线精品自拍亚洲第一区| 午夜福利在线观看入口| 爱性久久久久久久久| 久久精品人妻无码一区二区三区| 国产欧美一区二区日本加勒比| 午夜毛片不卡免费观看视频| 国产精品亚洲欧美大片在线看| 大胸美女吃奶爽死视频| 欧美一本大道香蕉综合视频| 国产九九视频一区二区三区| 紫阳县| 中文字幕无线码在线观看| 亚洲精品麻豆一区二区| 国语自产精品视频在线看| 国产中文字幕在线精品| 久久精品国产91久久麻豆| 一区二区三区AV波多野结衣| 国产精品久久久久影院色| 国产一区二区三区精品自拍| 国产日韩久久免费影院| 亚洲无码在线免费观看| 亚洲欧洲日产国无高清码图片| 97在线视频人妻无码| 神马久久亚洲一区 二区| 亚洲人妻系列中文字幕| 免费观看羞羞视频网站|