【发布时间】:2012-07-08 18:55:08
【问题描述】:
知道
对于所有声明为 volatile 的变量,读取和写入都是 atomic
问题1:可以这样理解吗
private volatile int x = 0;
x++; 操作是原子的?
还有那个
标记变量 volatile 并不能消除所有同步的需要 原子动作,因为memory consistency errors are still possible.
问题 2: 我想知道在什么情况下(如果有)可以看到标记为 volatile 的变量,而看不到标记为同步的块的任何方法(尝试访问/修改变量)?
换句话说,是否所有需要保护以防止并发修改的变量都标记为volatile?
【问题讨论】: