从技术上讲,你需要让他们
final,
volatile或读取 和
使用写出来
synchronzied,以保证读者会读的最先进的最新值。正如您现在所拥有的,如果一个线程写入一个值,则不能保证另一线程将读取相同的值。这是因为读取线程可能会看到缓存的值。对于多核CPU和各种级别的缓存,这种可能性更大。
关于这方面的一本好书是《Java Concurrency in Practice》。

从技术上讲,你需要让他们
final,
volatile或读取 和
synchronzied,以保证读者会读的最先进的最新值。正如您现在所拥有的,如果一个线程写入一个值,则不能保证另一线程将读取相同的值。这是因为读取线程可能会看到缓存的值。对于多核CPU和各种级别的缓存,这种可能性更大。
关于这方面的一本好书是《Java Concurrency in Practice》。