Scala'nın kullanışlı bir özelliği, a'nın lazy val
değerlendirilmesinin val
gerekli olana kadar ertelenmesidir (ilk erişimde).
Tabii ki, bir lazy val
ek yük olmalıdır - bir yerde Scala, değerin önceden değerlendirilip değerlendirilmediğini ve değerlendirmenin senkronize edilmesi gerektiğini takip etmelidir, çünkü birden çok iş parçacığı aynı anda ilk kez değere erişmeye çalışabilir.
A'nın maliyeti tam olarak nedir lazy val
- lazy val
değerlendirilip değerlendirilmediğini takip etmek için a ile ilişkili gizli bir boole bayrağı var mı, tam olarak senkronize edilen nedir ve daha fazla maliyet var mı?
Ayrıca, bunu yaptığımı varsayalım:
class Something {
lazy val (x, y) = { ... }
}
Bu iki ayrı lazy val
s x
ile aynı mıdır y
ve çift için yükü sadece bir kez (x, y)
mi alabilirim?
bitmap$0
alan geçerli uygulamada uçucu (2.8).