【发布时间】:2013-07-20 16:10:20
【问题描述】:
我正在研究设计模式并遇到了单例模式
class SingletonPattern implements Runnable {
private static SingletonPattern single=null;
private SingletonPattern() { }
public synchronized static SingletonPattern getInstance() {
if(null==single) {
single=new SingletonPattern();
}
return single;
}
}
现在我明白了 synchronized 将有助于两个线程无法访问 getInstance 方法,但如果我错了,请纠正我两个不同的对象将有两个锁,每个锁都有一个。另一个线程可以从另一个对象启动,然后获取然后访问 getInstance () 方法,因此我们可以有两个对象。??
【问题讨论】:
-
锁定是在此处获取的类型不是对象。
-
它的
static synchronized方法,因此将在SingletonPattern 类的class对象上获取锁。检查此线程stackoverflow.com/questions/437620/…
标签: java