scala对象构造函数可以作为竞争条件运行两次吗?

时间:2017-12-05 21:09:39

标签: scala thread-safety companion-object

我有一个带有变量的对象,它只会从对象内部以及对象实例的初始化/构造过程中发生变化。

在竞争条件场景中,同一个对象构造函数是否可以意外运行两次?或者Scala提供适当的检查以确保它只能运行一次?

1 个答案:

答案 0 :(得分:2)

是的,它是安全的:构造函数在静态初始化程序中运行。参见例如http://blogs.tedneward.com/patterns/singleton-scala/