【发布时间】:2014-08-27 07:01:11
【问题描述】:
假设两个线程在不同的核心上运行,每个线程都有一个指向共享变量的相同指针的副本,如果两个线程都保证只读取这个变量,这是否会引发任何问题?我没有使用任何类型的互斥锁...
【问题讨论】:
-
只读就可以了
-
这取决于您所说的“问题”。由于cache coherence,您可能会看到一些性能影响。
-
使用互斥锁可能只是更好的做法...您可以获得一个共享读取器互斥锁,它可能是无操作的,也可能会保存您的培根。以后维护和扩展其他一些 shmuck 也会更容易。
标签: c++ mutex shared-memory multicore