java中的Singleton类意味着只能初始化一次的类,所有类都将使用相同的对象。每个人只能创建一个对象。但我的问题是,当多个线程同时初始化同一个对象时会发生什么?会有两个或更多的物体吗?我们怎么能限制这个?
答案 0 :(得分:2)
但我的问题是当有多个线程时 同时初始化同一个对象将会发生什么 那里?会有两个或更多的物体吗?我们怎么能限制这个?
实现它的多种方法:
同步可用于控制在多线程环境中为单例类创建多个对象。
使用静态块在类加载期间创建单例对象。
Wiki描述了在考虑多线程环境的情况下以极好的方式编写Singleton类的方法。