public static HugeType HugeType { get { if (tenderCache == null) { tenderCache = Config.Get<HugeType>("HugeType",null); } return tenderCache; } }
我的对象是只读的,如果创建了两个实例,这并不重要.我应该在任何情况下加锁吗?
话虽如此,实际上确保初始化只做一次是很容易的,因为它已经是一个解决的问题.您可以简单地存储一个Lazy< HugeType>在你的字段中,而不是一个HugeType和Lazy将会为您处理初始化同步.