1. 程式人生 > >android singleton 泛型模式的單例

android singleton 泛型模式的單例

<pre name="code" class="java">public abstract class Singleton<T>
{
  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;
    }
  }
}



一個泛型的單例模式