背景:
有一个对象(实际上是一个对象列表),其中一个字段中有一个 HashMap。此 HashMap 经常被覆盖(不是其中的值,而是对对象的引用 - 即夸大myObject.mapField = new HashMap(...)
)此映射非常主动地从不同线程中读取(仅)。同时,如果某个线程会使用数据,比如一秒钟前,对我来说并不重要。
问题的实质:
我在这里需要volatile
吗?我读了谷歌很长一段时间(也许我没读好),但是如果我们在一个线程中更改一个非为并发变量设计的常规变量并阅读,原则上我无法找到有关延迟有多大的信息在另一个?