我尽量避免代码中的变量,以便更容易地进行多线程处理.但是,有一行代码开始:
val positions: Hashtable[String, String] ...
Run Code Online (Sandbox Code Playgroud)
我想知道val是否使自动线程安全,或者是否需要担心更多细节?
通过在前面positions用val你把它一成不变的.通过"它"我的意思是参考Hashtable,而不是Hashtable它本身,因此通过"不可改变的"我的意思是,你不能指派另一Hashtable对positions.
所以它Hashtable本身可以随着时间而改变,但positions总会指向它.没有什么是自动线程安全的.