【发布时间】:2010-11-04 09:11:09
【问题描述】:
Scala 允许定义惰性值
lazy val maybeUnusedValue = someCostlyInitialization
其中someCostlyInitialization 仅在首次使用maybeUnusedValue 时进行评估。也就是说,它最多被评估一次,如果从不使用maybeUnusedValue,它也永远不会被评估。
这是线程安全的吗?这对性能有何影响? 如果这是线程安全的,它必须使用某种同步/以某种方式使用 Java volatile。不幸的是,Scala language specification 对此只字未提。
【问题讨论】:
标签: performance scala lazy-initialization