深入理解Java内存模型的学习笔记三(顺序一致性)_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 深入理解Java内存模型的学习笔记三(顺序一致性)

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

 2015/2/2 16:12:49  翟健  程序员俱乐部  我要评论(0)
  • 摘要:查阅地址:http://ifeve.com/java-memory-model-3/数据竞争1、当一个线程写数据的同时,另一个线程在读这个数据,并且没有进行同步,就会产生数据竞争2、如果程序正确同步,那么程序执行会具有顺序一致性,它与顺序一致性的执行结果相同顺序一致性1、顺序一致性是理想模型2、无论同步与否,每个操作的执行结果会对后来要执行的操作可见JMM未同步执行特征1、JMM只保证最小的安全性:数据不会无中生有,它会在初始化时清空数据,并初始化为(0,null,false)2
  • 标签:笔记 学习 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位
发表评论
用户名: 匿名