为何volatile关键字同步保证可见性后,线程没有立刻获取到修改后的值
以下事件按照顺序进行:1、线程一的System.out.print(String str)这个方法开始运行,调用了getName,获得了before,线程栈上String类型引用指向了before,它已经与那个valatile的实例无关了。此刻没来得及打印,被挂起2、线程三执行了before、after的修改动作3、线程二调用,打印after4、线程一活过来了,打印了一句before关键:调用getName与打印这两件事,不是原子的。以上
推荐阅读
- #补贴#江阴为何迟迟没执行?|解忧帮 无锡:机动车报废有补贴
- OC为何跌出语言榜前十
- 何能|布局素质教育 教育巨头为何能迅速推进?
- 汽车|把车越卖越贵,全新领克01为何可以这样?
- 阿里程序员网上招人的情况为何如此多见
- 心流西春|为何你的后半箱油总是不耐用?油是正经油,问题可能出在这里
- 一粒尘埃的尘|为何很多新车不再设计“雾灯”,雾灯不重要吗?
- 环球车讯网|宝马MINI 为何在“迷你”的路上越跑越远?
- 汽车一起看|为何说国产高端SUV三强之首是名爵HS,领克和WEY竟无法反驳?
- 汽车知识|沃尔沃XC60为何能直击年轻人的心?看完便知