zoukankan      html  css  js  c++  java
  • 关于Double Lock的疑问

    麻烦请教大家一个问题: 看到张老三的关于一个用double lock来产生线程安全的单例对象的方法突然有一个疑问,
    第一种方法:如果把这句话(事实上是一个随便的初始化过程)

    Dim source As IConfigurationSource = System.Configuration.ConfigurationSettings.GetConfig("activerecord")
                ActiveRecordStarter.Initialize([
    Assembly].Load("ASPNET.StarterKit.Portal.Model"), source)


    放在Double Lock的话而这个Double Lock放在一个普通的类文件(可能是基类)的话

    private static readonly object lockObj = new object();
    if ( _factory == null ) {
       
    lock ( lockObj ) {
          
    if ( _factory == null ) {
             
    // 放在这里;
          }
       } 
    // end lock
    }

    第二种方法:放在全局文件里面
     Sub Application_Start(ByVal sender As ObjectByVal e As EventArgs)
                
    ' 在应用程序启动时激发
                Dim source As IConfigurationSource = System.Configuration.ConfigurationSettings.GetConfig("activerecord")
                ActiveRecordStarter.Initialize([
    Assembly].Load("ASPNET.StarterKit.Portal.Model"), source)

            
    End Sub

    这两种方法能产生一样的效果吗(也就是说只初始化一次)?还是产生不同的效果?
  • 相关阅读:
    模型评估方法
    欠拟合、过拟合、偏差、方差
    机器学习基本概念
    Hive 的基本概念
    Flume的Channel
    Flume的Sink
    Flume的Source
    Flume 安装和配置
    Flume的基本概念
    BIO & NIO & NIO常见框架
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/405071.html
Copyright © 2011-2022 走看看