`
翟健
  • 浏览: 3522 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

深入理解Java内存模型的学习笔记三(顺序一致性)

阅读更多
查阅地址:http://ifeve.com/java-memory-model-3/
数据竞争
   1、当一个线程写数据的同时,另一个线程在读这个数据,并且没有进行同步,就会产生数据竞争
   2、如果程序正确同步,那么程序执行会具有顺序一致性,它与顺序一致性的执行结果相同
顺序一致性
   1、顺序一致性是理想模型
   2、无论同步与否,每个操作的执行结果会对后来要执行的操作可见
JMM未同步执行特征
   1、JMM只保证最小的安全性:数据不会无中生有,它会在初始化时清空数据,并初始化为(0,null,false)
   2、JMM不保证单线程中的执行是按顺序执行的,可能已经做了重排序
   3、JMM不保证每个操作执行结果对后来操作可见
   4、JMM不保证对64位long/double变量写具有原子性,JMM在对long/double进行操作时会分成两个步骤,先写高32位,再写低32位
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics