• 处理器的内存模型有哪些
  • [ ] JMM如何屏蔽不同处理器的内存模型差异

    处理器的内存模型有哪些

    • TSO
    • PSO
    • RMO

上面的模型一个比一个送

JMM如何屏蔽不同处理器的内存模型差异

image.png

各种内存模型关系

  • 理想模型:顺序一致性内存模型
  • 处理器级模型:TSO、PSO、TMO
  • 语言级模型:C++11 MM JMM CLR2.0 MM Sequentail Consistency

不管是处理器级模型还是语言级模型,都是参考理想模型的。
image.png

JMM的内存可见性保证

  1. JMM保证单线程程序。不会出现内存可见性问题。编译器和处理器共同保证单线程程序的执行结果和顺序一致性模型中结果一致
  2. JMM保证正确同步的多线程程序具有和顺序一致性模型下执行相同的结果
  3. JMM给未正确同步的多线程程序以最小保障(就是不会读到莫名奇妙的值)

image.png

JSR-133内存模型修补

  • 增强volatile的内存语义
  • 增强final的内存语义