我有一个连续读取全局变量的线程,还有另一个线程有时会更新(写入)全局变量。最好的方法是什么?费用是多少?如果我不将锁置于读取侧而将锁置于写入侧,是否可以?谢谢 最佳答案 锁可以保护资源/变量,如果读者使用它,写者也应该这样做。如果全局变量是原始类型,我建议您使用std :: atomic 将其设为原子。如果它是复杂的类型(如类),则应使用锁来确保读者读取一致的状态。在您可能期望低竞争的情况下,自旋锁取得了很大的成功。但是,如果您的读者阅读率很高,而且您有很多。应该使用互斥或​​原子。关于c++ - 读/写锁(c++),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22215985/
10-11 21:08