揭示同步块索引(上):从lock开始

大家都知道引用类型对象除实例字段的开销外,还有两个字段的开销:类型指针和同步块索引(SyncBlockIndex)。同步块索引这个东西比起它的兄弟类型指针更少受人关注,显得有点冷落,其实此兄功力非凡,在CLR里可谓叱咤风云,很多功能都要借助它来实现。 接下来我会用三篇来介绍同步块索引在.NET中的所作所为。
既然本章副标题是从lock开始,那我就举几个lock的示例:

代码1

   1: public class Singleton
   2: {
   3:     private static object lockHelper = new object();
   4:     private static Singleton _instance = null;
   5:     public static Singleton Instance
   6:     {
   7:         get
   8:         {
   9:             lock(lockHelper)
  10:             {
  11:                 if(_instance == null)
  12:                     _instance = new Singleton();
  13:             }
  14:             return _instance;
  15:         }
  16:     }
  17: } 

NET技术揭示同步块索引(上):从lock开始,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。