Dalvik和乱序写道

时间:2010-10-19 03:19:12

标签: java android concurrency dalvik

Java规范允许编译器和VM为了效率而重新排序内存写入。 Dalvik VM是否具体考虑了这一点?

免责声明:即使Dalvik没有这样做,我也无意依赖订单(除了编译器也可以这样做),但是很高兴知道。

1 个答案:

答案 0 :(得分:2)

Dalvik翻译不会重新排序。 JIT编译器可能。

在具有多个CPU的设备上真正变得古怪的是,因为ARM内存一致性模型相当薄弱。在这样的环境中,即使只使用解释器,您也可以观察到无序的内存访问。

如果JSR-133(JMM)文档说你不能依赖某些东西,那就不要依赖它。 : - )