首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
追求谁谁谁
2017-04-23 16:21
北京邮电大学 Java
关注
已关注
取消关注
java volatile询问
如果两个线程同时写volatile变量会出现什么问题?一个面试官问我的,求大神解答
#Java工程师#
提示
全部评论
推荐
最新
楼层
sillyeye
西南石油大学 Java
volatile能保证原子性,保证的是对64位long double简单赋值操作和读操作的原子性。但是复杂操作例如自增不能保证。但是你不能说没有保证自增volatile就不具有原子性,因为自增也是由3个原子性操作相加的符合操作。类比的你可以去看collections类同步synchronizedMap过后的map,他的put get remove一样是原子性的,但是如果你调用两个原子性操作就会出错。比如containsKey之后进行remove,并发时会出错的。
点赞
回复
分享
发布于 2017-04-23 19:02
广东周润发
阿里巴巴_智能信息_Android
内存屏障
点赞
回复
分享
发布于 2017-04-23 16:25
小度小度
南京大学 Java
volatile不能保证线程安全
点赞
回复
分享
发布于 2017-04-23 16:27
李香兰
北京理工大学
不可能同时写,当某个线程a往主存写的时候,会锁住cpu缓存行,导致另一个线程b的相同变量无法同时写入与读取,当a写完时,由happen-before规则,b线程会重新读取主存最新的值,也就是说,volatile是轻量级的synchronized,不会导致线程切换。
点赞
回复
分享
发布于 2017-04-23 16:38
牛客2329558号
南京大学 Java
volitile能保证读和写的原子性
点赞
回复
分享
发布于 2017-04-23 17:14
牛客2692795号
厦门大学
volatile 不能保证原子性!!!绝对不能。认为能的是对java理解很大的常见误区。 volatile 保证的是内存可见性。也可用来防止指令重排序(就是上面有人提到的内存屏障,也是happens-before的一条原则)
点赞
回复
分享
发布于 2017-04-23 18:23
就只面了腾讯一家公司
北京师范大学 Java
可能读到被修改之前的值。因为读到缓存的数据了。
点赞
回复
分享
发布于 2017-04-23 18:37
layman
汕头市业余大学
楼主可以看看一位大神海子的一篇博客 volitale讲的很详细
点赞
回复
分享
发布于 2017-04-23 20:46
风的方向zlw
西安电子科技大学 Java
个人看法:如果写操作是i++这类的操作是会出现并发问题的,因为自增操作会分解成三个操作完成,这个大家都知道;如果写操作是i = 1这类赋值操作就不会有问题,因为赋值操作在jvm层面也是原子操作,加上volatie实现的可见性,就可以保证多个线程对这个变量的修改一定会有个先后顺序,最后这个变量的值就是最后执行的线程修改的值。
点赞
回复
分享
发布于 2017-04-23 21:50
GoOrNotGo!
中山大学 Java
对于基本变量的赋值和读取能保证原子性,其他不行。既然问的是使用了volatile,那我们的前提就是使用正确的情况下,根据happen-before原则,是不会有问题的,不可能是同时
点赞
回复
分享
发布于 2017-04-23 23:28
拖仔
东北大学 C++
至少在cpp里,不能保证线程安全…只是禁止了编译器的优化工作…
点赞
回复
分享
发布于 2017-04-23 23:55
mafee
中国传媒大学 Java
内存可见性和禁止指令重排序
点赞
回复
分享
发布于 2017-04-24 07:38
还没有回复哦~
相关推荐
今天 12:16
武汉理工大学 电路设计工程师
秋招真的很复杂
现在才明白学校地理位置的重要性,国考在即,我懒得再跑回去面试,秋招也算是彻底结束了。收到的面试通知让我感到一丝希望,但面对即将到来的面试,我的心里紧张和不安。每次准备资料、确认面试时间,心里都在祈祷,希望这次能有个好结果。希望未来的面试能让我逆袭,迎来属于我的机会!
牛客创作赏金赛
点赞
评论
收藏
分享
11-21 15:02
嘉士伯_运营管理_HR
为什么建议看看外企
不知不觉已经十一月份了,国庆回来秋招就算真的进入中后期了,基本就是考选调,考体制内了,私企最后能投的一波就是十月上旬了,现在投着,前面大佬释放hc 大家还有一点机会1.不喜欢你工作太卷!(俺是卷心菜,虽卷但菜)外企非常严格地遵循无996,955工作制的同时实现WLB(work life balance),即即工作生活平衡,到点就可以走人~如果怕堵车或者有其他事情(比如不太舒服、有急事)都可以提前回去,部分外企每周还有一天或两天居家办公,嘿嘿~2.不喜欢你太给自己设限请大声说:我们都有无限可能不同于国企对应届生身份卡的比较严格,外企尤其往届生友好,毕业两年内还保有应届生身份的姐妹都可以去投!...
百威成长空间 50人发布
点赞
评论
收藏
分享
10-19 15:00
文华学院 嵌入式工程师
嵌入式岗位,求大佬指点一下, #找不到工作啊#
粗心的雪碧不放弃:
纯学历问题,我这几个月也是一直优化自己的简历,后来发现优化到我自己都觉得牛逼的时候,发现面试数量也没有提升,真就纯学历问题
点赞
评论
收藏
分享
11-14 15:03
西安电子科技大学 C++
关于荣耀分组
只能说。。。只要不是安卓就行,松了口气
一名愚蠢的人类:
多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞
评论
收藏
分享
11-19 13:21
蚌埠坦克学院 嵌入式软件开发
以后你不要再打电话了,我怕夏洛误会
用了三年的小米手机,笔试完快一个月一直没消息,最后还被调岗位了米粉轻轻碎了,mate70我来了
待我拉个屎先:
面啊!小心华子给你泡不出来了,别all in啊
投递小米集团等公司10个岗位 >
牛客创作赏金赛
点赞
评论
收藏
分享
点赞成功,聊一聊 >
点赞
收藏
评论
分享
回复帖子
提到的真题
返回内容
招聘动态
查看更多
字节跳动
2025校园招聘
杉川机器人
2025校园招聘
快手Star
2025届招聘
快手
销售类投递专区
库洛游戏
全站热榜
1
...
给正在秋招中枯燥的大家找个乐子听听吧,不被理解真的心寒
1.4W
2
...
双非本科四年的总结
1.2W
3
...
sagima的阎良出差日记
1.2W
4
...
秋招颗粒无收,我要何去何从
8500
5
...
简历这样写真的很难挂
7044
6
...
请大家警惕“总包”骗局!
6731
7
...
收到offer了!!!!
6310
8
...
提前化身黑子,保温了两次的华为,报批挂了
4755
9
...
浅谈二本Javaer进大厂的感悟
4596
10
...
大哥爆发了?
4149
正在热议
#
25届秋招总结
#
260898次浏览
2154人参与
#
0offer是寒冬太冷还是我太菜
#
886334次浏览
7896人参与
#
北方华创开奖
#
23542次浏览
260人参与
#
地方国企笔面经互助
#
2813次浏览
7人参与
#
学历or实习经历,哪个更重要
#
43114次浏览
321人参与
#
选完offer后,你后悔学本专业吗
#
12936次浏览
91人参与
#
查收我的offer竞争力报告
#
18896次浏览
248人参与
#
应届生被毁约被毁意向了怎么办
#
27987次浏览
243人参与
#
你最想要的公司福利是?
#
41651次浏览
144人参与
#
如何一边实习一边秋招
#
986900次浏览
12608人参与
#
一觉醒来,我觉醒了超级打工人系统
#
3247次浏览
36人参与
#
嵌入式转岗的难度怎么样
#
11163次浏览
250人参与
#
你最希望上岸的公司是?
#
76241次浏览
469人参与
#
如何写一份好简历
#
604518次浏览
8496人参与
#
面试体验感最好的是哪家?
#
83526次浏览
815人参与
#
机械应届生薪资要多少才合适?
#
12525次浏览
61人参与
#
牛客十周岁生日快乐
#
48618次浏览
756人参与
#
你认为第一份工作重要吗
#
5409次浏览
49人参与
#
985本硕1个中小厂offer,摆烂or继续努力
#
79752次浏览
589人参与
#
秋招OC许愿
#
227839次浏览
1878人参与
#
来聊聊机械薪资天花板是哪家
#
65307次浏览
441人参与
牛客网
牛客企业服务