Java 中共享变量的内存可见性问题 + volatile + CAS
一、Java 中共享变量的内存可见性问题
在多线程下处理共享变量时Java 的内存模型,如下图所示。
Java 内存模型规定,将所有的变量都存放在主内存中,当线程使用变量时,会把主内存里面的变量复制到自己的工作空间或者叫作工作内存,线程读写变量时操作的是自己工作内存中的变量。Java 内存模型是一个抽象的概念,那么在实际实现中线程的工作内存是什么呢?请看图2-5 。
图中所示是一个双核CPU 系统架构,每个核有自己的控制器和运算器,其中控制器包含一组寄存器和操作控制器,运算器执行算术逻辅运算。每个核都有
转载
2021-03-25 20:53:25 ·
257 阅读 ·
0 评论