我遇到了一个关于线程不要访问相同缓存行的建议,我真的不明白为什么,也在对该主题进行搜索时,我遇到了这个问题: 多线程和 CPU 缓存 ,其中一个答案建议:
您只想避免两个线程同时尝试访问位于同一缓存行上的数据
在我看来,缓存存储内存页面以便从进程快速访问,正如它在这里所说:http : //en.wikipedia.org/wiki/Thread_%28computing%29#How_threads_differ_from_processes
线程共享它们的地址空间
两个线程访问相同的缓存行应该不成问题,因为如果页面在缓存中并且尝试访问内存的线程将获得缓存命中,而不管其他线程如何。
我听说过关于避免线程在几个不同的场合访问相同的缓存行的争论,所以这不是一个神话。我在这里缺少什么?