本帖最后由 ☆╰學不会☆╮ 于 2013-10-24 08:00 编辑
单例模式挺容易听懂的 但是就是延迟加载 懒汉式的单例。synchronized不是很理解。
public class SingerDemo {
// 私有的构造方法
private SingerDemo() {}
//静态私有的成员变量
private static SingerDemo instance = null;
public static SingerDemo getInstance() {
if (instance == null) {
synchronized (SingerDemo.class) {
if (null == instance) {
instance = new SingerDemo();
}
}
}
return instance;
}
}
谁能给解释一下 synchronized 跟多线程中的作用一样吗。
是不是 不加synchronized会导致对线程的访问不安全?
还有就是 两个if的作用? 谢了。。
|