假如我有一个指向可变类类型Foo的原子引用:
AtomicReference<Foo> foo = new AtomicReference<Foo>(new Foo());
线程A向Foo对象写入:
foo.get().write(42);
线程B从Foo对象中读取:
int x = foo.get().read();
请注意,原子引用本身永远不会被修改!也就是说,在我的代码中,我没有调用foo.set。
线程B是否保证能观察到线程A最后写入的值?
假如我有一个指向可变类类型Foo的原子引用:
AtomicReference<Foo> foo = new AtomicReference<Foo>(new Foo());
线程A向Foo对象写入:
foo.get().write(42);
线程B从Foo对象中读取:
int x = foo.get().read();
请注意,原子引用本身永远不会被修改!也就是说,在我的代码中,我没有调用foo.set。
线程B是否保证能观察到线程A最后写入的值?