getInstance()
方法异步。编写以下代码是一种惯例吗?public class Singleton {
private static volatile Singleton instance;
public static Observable<Singleton> getInstance(Params params) {
return Observable.fromCallable(() -> {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton(params);
}
}
return instance;
});
}
// ...
}
如果没有,为什么不这样做,还有什么更好的解决方案?