看Java内存模型Java内存模型(JMM,)时,总有一个困惑。关于线程,主存(内存),工作内存(内存)工作,我都能找到实际映射的硬件:线程可能对应着一个内核线程,主存对应着内存,而工作内存则涵盖了写缓冲区,缓存(缓存),寄存器等一系列为了提高数据存取效率的暂存区域。但是,一提到之前原则,就让人有点“丈二和尚摸不着头脑”。这个涵盖了整个JMM中可见性原则的规则,究竟如何理解,把我个人一些理解记录下来。
两个操作间具有之前关系,并不意味着前一个操作必须要在后一个操作之前执行.happens-before仅仅要求前一个操作对后一个操作可见。
引用>这个说法我先后在好几本书中都看到过。也就是说,之前原则和一般意义上的时间先后是不同的。那究竟是什么呢?一步步来看。
我们先来看一个理想化的模型:顺序一致性(顺序一致)内存模型。在这个模型里,所有操作按程序的顺序来执行,并且每一个操作都是原子的,且立即对所有线程可见只
,深入浅出了解之前原则