单例模式
写法1:
public SingleTaskManager(){
}
public static class SingleTaskHolder{
private static SingleTaskManager instance = new SingleTaskManager();
}
public static SingleTaskManager getInstance(){
return SingleTaskHolder.instance;
}
}
写法2:双检查机制
synchronized加锁,加类的字节码锁,每个类能保证字节码是唯一的
public class SingleInstance2Manager {
public static SingleInstance2Manager mInstance;
private SingleInstance2Manager getInstance(){
if (mInstance == null){
synchronized (SingleInstance2Manager.class){
if (mInstance == null){
mInstance = new SingleInstance2Manager();
}
}
}
return mInstance;
}
}
网友评论