• 多线程下的单例


    1多线程安全单例模式一(不使用同步锁).

    复制代码
     1  1 public class Singleton {
     2  2     private Singleton()
     3  3     {}
     4  4     private static Singleton singleton;
     5  5     
     6  6     public static Singleton getInstance()
     7  7     {
     8  8         if(singleton ==null)
     9  9         {
    10 10             singleton =new Singleton();
    11 11         }
    12 12         return singleton;
    13 13     }
    14 14     
    15 15 
    16 16 }View Code
    复制代码

    2.多线程安全单例模式一(使用同步锁).

    复制代码
    public class Singleton {
        private Singleton()
        {}
        private static Singleton singleton;
        //sychronized 同步
        public static synchronized Singleton getInstance()
        {
            if(singleton ==null)
            {
                singleton =new Singleton();
            }
            return singleton;
        }
        
    
    }
    复制代码

    3.多线程安全单例模式一(使用双重同步锁).

    复制代码
    public class Singleton {  
         private static Singleton instance;  
         private Singleton (){
         }   
         public static Singleton getInstance(){    //对获取实例的方法进行同步
           if (instance == null){
               synchronized(Singleton.class){
                   if (instance == null)
                       instance = new Singleton(); 
               }
           }
           return instance;
         }
         
     }
  • 相关阅读:
    软件工程师的悲哀
    关于ControlTemplate 2
    DataTemplate总结2(学习)
    ObjectiveC——类
    6 Popular Ideas That Fail
    Develop Cross Platform Mobile App
    DP 与 DO(学习)
    Titanium颜色总结
    Illustrator Tips
    Titanium API
  • 原文地址:https://www.cnblogs.com/6zhi/p/5534764.html
Copyright © 2020-2023  润新知