c++ - 在这种只读多线程情况下是否会发生错误共享?
问题描述
Matrix4X4* EightMatrix;
void Calculate(const Matrix4X4* eightMatirx)
{
//eightMatirx is only read for calculating something
}
该Calculate
函数在多个线程上同时执行。我知道当多个处理器访问同一缓存行上的数据时会发生错误共享。在我的情况下,所有线程都访问相同的内存位置(eightMatrix
)。但eightMatrix
不是由线程写入,仅读取,因此不需要缓存一致性。但我担心虚假分享。在这种情况下会发生吗?
解决方案
推荐阅读
- c# - 如何在 C# 中制作一个根据变量更改的条形图?
- firebase - 如何在 Firestore Flutter 中获取昨天日期的所有记录?
- node.js - 猫鼬:如何使用 .find() 返回不是 Cursor 的文档
- python - 当 div 类的名称临时更改时,使用 selenium 查找网站的某些部分
- python - CNN模型准确率
- boot - 如何为uefi重建系统保留分区
- flutter - 手势捕获的异常
- node.js - Route.get() 需要 API 的回调函数问题
- python - 使用 N-Gram 的二进制分类
- tensorflow - 在 Pytorch 中寻找等效的 Tensorflow 归一化层