内存排序是指CPU访问主存时的顺序。可以是编译器在编译时产生，也可以是CPU在运行时产生。反映了内存操作重排序，乱序执行，从而充分利用不同内存的总线带宽。现代处理器大都是乱序执行。因此需要内存屏障以确保多线程的同步。
编译时内存排序.
编译时内存屏障.这些内存屏障阻止编译器在编译时乱序指令，但在运行时无效。 asm volatile("" ::: "memory");或者阻止GCC编译器跨越它乱序读/写指令。 atomic_signal_fen