通过使Singleton的getInstance()方法返回可观察值来使其异步是一个好主意吗?[[?

问题描述 投票:-1回答:1
我有一个单例,需要一些时间来实例化。它使UI冻结。因此,我计划使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; }); } // ... }

如果没有,为什么不这样做,还有什么更好的解决方案?
java design-patterns singleton rx-java rx-java2
1个回答
0
投票
检查此Safe Singleton。枚举是使其变得安全的一种方法
© www.soinside.com 2019 - 2024. All rights reserved.