object Users {
val userCountByAgeMap = readFromFile(); // read from file returns immutable map
}
正如在上面的scala示例中,用户将是Singleton对象并且userCountByAgeMap将被懒惰地初始化。在scala对象中,是不可变的val线程安全吗?
那么这个初始化是原子吗?即一个且只有一个线程将能够初始化它。
假设userCountByAgeMap由线程A初始化,这将是可见的主题B.
如果初始化是不是不能保证原子/内存的知名度,将使得userCountByAgeMap变懒VAL解决这个问题?