0

Java中的单例类是指一个类只能初始化一次,所有类都将使用同一个对象。只会为每个人创建一个对象。但我的问题是,当多个线程同时初始化同一个对象时,那里会发生什么?会有两个或更多对象吗?我们如何限制这一点?

4

1 回答 1

2

但我的问题是,当多个线程同时初始化同一个对象时,那里会发生什么?会有两个或更多对象吗?我们如何限制这一点?

实现它的多种方法:

  1. 同步可用于控制在多线程环境中为单例类创建多个对象。

  2. 在类加载期间使用静态块创建单例对象。

Wiki 描述了以出色的方式编写 Singleton 类的方法,同时考虑到了多线程环境。

http://en.wikipedia.org/wiki/Singleton_pattern

于 2013-11-09T09:31:09.140 回答