什么是多线程环境下的伪共享(false sharing)?

伪共享是多线程系统(每个处理器有自己的局部缓存)中一个众所周知的性能问

题。伪共享发生在不同处理器的上的线程对变量的修改依赖于相同的缓存行,如

下图所示:

伪共享问题很难被发现,因为线程可能访问完全不同的全局变量,内存中却碰巧

在很相近的位置上。如其他诸多的并发问题,避免伪共享的最基本方式是仔细审

查代码,根据缓存行来调整你的数据结构。

猜你喜欢

转载自www.cnblogs.com/programb/p/13210262.html