多线程下的单例

91 阅读1分钟

饿汉式

class Single
{
	private static final Single s = new Single();
    private Single (){}
    public static Single getInstance()
    {
       return s;
    }
}

懒汉式

class Single
{
  private static Single s = nullprivate Single(){}
  public static Single getInstance()
 {
 	if(s == null)
 	{
    	synchronized(Single.class)
   		{
     		if(s == null)
      		s = new Single();
    	}
  	}
   	return s;
  }
}