Scala 中的Actor
trait 是这样定义的,
/**
* User overridable definition the strategy to use for supervising
* child actors.
*/
def supervisorStrategy: SupervisorStrategy = SupervisorStrategy.defaultStrategy
但是我看到具体参与者的所有示例代码都定义如下,
override val supervisorStrategy = OneForOneStrategy(loggingEnabled = false) {
...
}
我想了解的是为什么被 supervisorStrategy
覆盖为val
?
为什么不将其覆盖为def
?
是因为内存方面的考虑,比如我们不希望每次调用该方法时都进行此评估吗?