使volatile字段具有原子性操作 - ImportNew
对于volatile字段的期望目标是它能够在单线程和多线程程序之间保持一致行为。它们不是不可能保持行为一致,但是它们并没有保证行为一定一致。
在Java5以上版本中,这一问题的解决方法是使用一类以Atomic为开头命名的Java类。但是这种方式的性能是十分低下的。在内存上它添加了一个头标记和填充物,在性能上它添加了引用和对相对位置的控制,在语法上它变得不那么容易去使用。
在我看来,使volatile字段表现的和我们预期方式一致的最简单办法是JVM必须支持原子字段,这种方式并不会被当前的Java内存模型所禁止但也不会得到保障。
Read full article from 使volatile字段具有原子性操作 - ImportNew
No comments:
Post a Comment