前言 要理解C的六种内存序,我们首先须要明白一点,处理器读取一个数据时,可能从内存中读取,也可能从缓存中读取,还可能从寄存器读取。对于一个写操作,要考虑这个操作的结果传播到其他处理器的速度。 并且,编译器的指令重排和CPU处理器的乱序执行也是我们需要考虑的因素。   我们先看一个具体的例子,下图中P1和P2指代不同的processor,假设P2缓存了Data的值 P1先完成了Data在内存上的写操作,Data=2000; P1没有等待Data的写结果传播到P2的缓存中,继续进行Head的写操作,Head=1; P2读取到了内存中Head的新值; P2继续执行,...

  zmdlW8Gb4mGv   16天前   16   0   0 C++
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~