2

不是关于 volatile 变量是 java,而是关于GWT 编译器在生成 JavaScript 代码时如何处理 volatile 变量。

我在 GWT 上工作了一段时间,我知道客户端 java 代码在编译过程中被转换为 JavaScript。在java中,读/写一个volatile变量是一个原子操作,因为它必须从主内存读/写。

但是在代码被 GWT 编译器转换为 JavaScript 之后,这种行为会发生怎样的变化呢?据我所知,JavaScript 代码在浏览器中运行,那么 volatile 变量的易失性如何?

由于我对 GWT 内部没有那么全神贯注,所以我在 SO 上发布了这个问题。非常感谢您解释答案的任何帮助!

谢谢!

4

1 回答 1

4

GWT 不会生成并发代码,因此哪些操作是原子的并不重要。浏览器中的并发代码必须使用 web worker,并且它们不使用传统的内存共享,这意味着 volatile 无法真正转换为 JavaScript 中的任何内容。

于 2013-10-04T09:44:20.810 回答