首页 新闻 赞助 找找看

求教爪哇volatile关键字

0
悬赏园豆:10 [待解决问题]

写了个类 测试volatile关键字提供线程间可视性

不考虑主线程的情况下 现在有俩个线程 内存模型 如图 对吧?

我在run里修改了++a 然后睡眠一秒 睡眠结束前 ++a的操作只在工作内存里对吧?

现在应该还没有写回主存,这时另一个线程 读自己线程内存里的 a = 1 ,++a 为2

两个线程都结束睡眠后 将a写回主存 主线程得到的a 应该 是 2 吧?

但是结果是3

不爱吃蘑菇的大蘑菇的主页 不爱吃蘑菇的大蘑菇 | 初学一级 | 园豆:83
提问于:2019-09-26 10:05
< >
分享
所有回答(1)
0

volatile 不能保证原子性

邀月入梦 | 园豆:215 (菜鸟二级) | 2020-03-09 21:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册