问题描述
|
好的,假设我有一堆变量,其中一个声明为volatile:
int a;
int b;
int c;
volatile int v;
如果一个线程写入所有四个变量(最后写入v
),而另一个线程从所有四个变量读取(首先从v
读取),则第二个线程是否看到第一个线程写入a
,b
和c
的值,即使尽管它们本身并没有被宣布为挥发性的?还是可以看到过时的值?
由于似乎有些混乱:我不是故意在做不安全的事情。我只想了解Java内存模型和volatile
关键字的语义。纯粹的好奇心。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)