我有一个线程,单例,android问题。Android Singleton Threadsafe
假设我们有以下单例代码。
public class Singleton {
private Singleton instance;
private int number1 = 0;
private Singleton() {
//lots of initialization code
}
public static synchronized Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
}
我的问题。访问number1是否是线程安全的,还是需要创建一个带锁定机制的访问器?
感谢您的帮助。
我明白了。谢谢您的意见。首选的方法是暴露一个锁对象,以便任何线程可以使用该锁,然后访问属性或访问器函数的锁定已经在其中? – DoubleDunk
我会在你的'Singleton'类中完成所有的锁定,并且只是公开访问器。这样,如果需要,您可以在内部更改您的实施。 – wsanville
@DoubleDunk - 他的意思不是声明'private Singleton实例;'你需要'静态私有Singleton实例;' - 因为你的静态getInstance()方法需要访问它。 – mah