android singleton 泛型模式的单例

public abstract class Singleton
{
  private T mInstance;

  protected abstract T create();

  public T getInstance()
  {
	// 多线程调用getInstance方法  --此处不会进行阻塞
	if(this.mInstance!=null){
		return this.mInstance;
	}
    synchronized (this) {// 如果到此处,代表instance 为null
      if (this.mInstance == null) {// 防止其他线程多次实例化
        this.mInstance = create();
      }
      return this.mInstance;
    }
  }
}


 
  
一个泛型的单例模式


你可能感兴趣的:(android高手进阶)