gpt4 book ai didi

performance - Scala 惰性值 : performance penalty? 线程安全?

转载 作者:行者123 更新时间:2023-12-03 23:33:01 28 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




10年前关闭。




Possible Duplicate:
What's the (hidden) cost of lazy val? (Scala)



Scala 允许定义惰性值
lazy val maybeUnusedValue = someCostlyInitialization

哪里 someCostlyInitialization仅在第一次使用 maybeUnusedValue 时评估.即最多评估一次,如果 maybeUnusedValue从来没有被使用过,它也从来没有被评估过。

这个线程安全吗?这对性能有什么影响?
如果这是线程安全的,它必须以某种方式使用某种同步/使用 Java volatile。不幸的是 Scala language specification对此只字未提。

最佳答案

使用双重检查锁定使其成为线程安全的 http://code-o-matic.blogspot.com/2009/05/double-checked-locking-idiom-sweet-in.html显然,这确实意味着访问惰性 val 比非惰性 val 慢。

关于performance - Scala 惰性值 : performance penalty? 线程安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4095170/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com