在多个线程中使用线程安全单例的示例

时间:2016-07-28 10:58:25

标签: java design-patterns singleton

有线程安全的单例,但是当我们在多个线程中使用单例时?什么时候有帮助?

1 个答案:

答案 0 :(得分:1)

我使用无状态单例作为策略的实现。作为无国籍人,他们也是线程安全的,测试它们没有问题。

你遇到问题的地方是有状态的单身人士。这会导致更多的交互,特别是在多线程上下文中,但只是在一个线程中单元测试有状态单例是一种痛苦(即你必须在测试之间重置状态)。出于这个原因,许多人认为单身人士是一种可以避免的反模式。

有状态单例的更好方法是使用依赖注入。这样构建组件的代码只创建一个对象,并将其传递给所有需要它的组件。