我正在尝试将我的应用程序中的所有内容从单例中移开,因为我已经意识到这是一种糟糕的编程习惯,也就是说,我正在研究实现 Dagger 2 依赖注入。而且我想知道,当您在 Dagger 2 中执行 @Singleton 时,该线程是否已同步?如果不是,我怎么能同步它,所以我不会从多个线程接触相同的东西中得到任何奇怪的数据异常。
当我在做这样的事情之前创建单例时:
public class SomeSinglton {
private static ClassName sInstance;
private SomeSinglton () {
}
public static synchronized ClassName getInstance() {
if (sInstance == null) {
sInstance = new ClassName();
}
return sInstance;
}
就同步而言,Dagger 2 @Singleton 是否等效?