问题:饿汉式的单例模式为什么是线程安全的呢?我的理解初始化的时候创建了
这个对象,虽然确保了这个对象是唯一的 ,但是当前线程使用这个对象的时候其他线程似乎也具备对对象修改的权限。那么这个对象不就是不安全的吗?
ps:难道线程安全指的是创建过程?
public class SingletonExample2 {
// 私有化构造器
private SingletonExample2(){}
// 提供一个实例
private static SingletonExample2 instance = new SingletonExample2();
// 提供共有的方法返回实例
public static SingletonExample2 getInstance(){
return instance;
}
}
我觉得你的ps是对的
对,只是创建过程。
单例安全不就是创建安全吗
为什么线程安全 因为这个东西静态的 你还没有调到getInstance就创建好了
单例模式和线程安全的关系是,线程安全是单例模式的保证,保证了这个单例模式只初始化一次,线程不安全会导致可能创建两个实例,也就不是单例了。也就是你说的 线程安全指的是创建过程