CPU对内存变量的修改是先读取内存数据到CPU Cache中,然后再由CPU做运算,运算完成后继续写入到内存中 在单核CPU中,这完全没有问题,然而在多核CPU中,每一个CPU核心都拥有自己独立的Cache 此时同时访问同一个内存地址时,将会把内存值复制到多个CPU的Cache中 此时如果对Cache中的值进行修改数据就将会不一致,写入到内存时,内存中的数据就将会达不到预期值 为了解决这一个问题,早期CPU中,采用了总线LOCK的办法,某个CPU要对内存操作的时候,总线进行LOCK,直到操作完成