我的问题是,我有多个线程更新的块矩阵.多个线程可能一次更新不相交的块,但通常可能存在竞争条件.现在矩阵使用单锁锁定.
问题是,是否有可能(如果是,如何?)实现有效的锁定数组,以便一次只能锁定矩阵的一部分.
所讨论的矩阵可以变得相当大,按照50 ^ 2块的顺序.我最初的猜测是使用动态分配互斥量的矢量/映射.
这是好方法吗?是否更好地使用多个条件变量?有更好的方法吗?
c++ performance multithreading boost
boost ×1
c++ ×1
multithreading ×1
performance ×1