Một tính năng tiện dụng của Scala là lazy val, trong đó việc đánh giá a valbị trì hoãn cho đến khi cần thiết (ở lần truy cập đầu tiên).
Tất nhiên, lazy valphải có một số chi phí chung - ở đâu đó Scala phải theo dõi xem giá trị đã được đánh giá chưa và đánh giá phải được đồng bộ hóa, bởi vì nhiều luồng có thể cố gắng truy cập giá trị lần đầu tiên cùng một lúc.
Chính xác thì chi phí của một lazy val- có một cờ boolean ẩn liên quan đến một lazy valđể theo dõi nếu nó đã được đánh giá hay không, chính xác những gì được đồng bộ hóa và có thêm chi phí?
Ngoài ra, giả sử tôi làm điều này:
class Something {
lazy val (x, y) = { ... }
}
Đây có giống như có hai lazy vals riêng biệt xvà ytôi chỉ nhận được chi phí một lần cho cặp này (x, y)?
bitmap$0trường này không ổn định trong triển khai hiện tại (2.8).