- 1
- 0
- 约 10页
- 2018-05-30 发布于广东
- 举报
Java并发编Volatile不能保证数据同步
Java并发编程:Volatile不能保证数据同步
在本篇博文中,将给出一个实例去验证volatile修饰的变量并不能保证其数据同步。
在本篇博文中,将给出一个实例去验证volatile修饰的变量并不能保证其数据同步。
Java内存模型规定了所有变量都存储在主内存中,每条线程都有自己的工作内存,线程的工作内存保存了被该线程使用到变量的主内存副本拷贝,线程 对变量的所有操作(读取,赋值等)都必须在工作内存中进行,而不能直接读写主内存中的变量。不同线程也不能直接访问对方工作内存中的变量,线程间变量值的 传递均需要通过主内存来完成,线程,主内存,工作内存三者的交互关系如图所示。
当一个变量定义成volatile之后, 保证了此变量对所有线程的可见性,也就是说当一条线程修改了这个变量的值,新的值对于其它线程来说是可以立即得知的.此时,该变量的读写操作直接在主内存中完成.
Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性。
Volatile variables share the visibility features of synchronized, but none of the atomicity features.
虽然增量操作(x++)看上去类似一个单独操作,实际上它是一个由读取-修改-写入操作序列组成的组合操作,必须以原子方式执行,而
您可能关注的文档
最近下载
- 第八届中国(淄博)国际陶瓷览会ren体彩绘.ppt VIP
- 压水堆核电站设备分级.pptx
- 古蔺县2025年第二次公开考试选调机关事业单位工作人员(62人)笔试备考试题及答案解析.docx VIP
- 2024事业单位工勤技能考试考前冲刺试卷及参考答案详解(新).docx
- 部编版小学四年级下册语文复习教案第七课时复习内容:结合上学期学过的理解句子的方法复习理解本学期课文.pdf
- 仿生爬壁机器人外文文献.docx VIP
- 2026年印刷行业人才需求预测报告.docx
- 2023年度工程硕士模考模拟试题附参考答案详解【培优B卷】.docx
- 2024事业单位工勤技能考试考试综合练习及参考答案详解(培优).docx
- 小学语文教师业务考试试题及答案(完整打印版).docx VIP
原创力文档

文档评论(0)